IE11和javascript常量

问题描述 投票:-2回答:1

在我的javascript代码中,我使用的是常量,虽然在Chrome和Firefox中可以正常使用,但在IE11中出现未定义的错误。仿真模式设置为代理字符串= Microsoft Edge。我读到IE v5-9(和10预览)常量不可用,但从11开始应该没问题。我在做什么错以及如何解决?检查浏览器的类型,如果是IE,则只需为其创建变量?所以我有一个带有以下代码的x.js文件:

const CONST_FAIL_1 = "something failed";
const CONST_FAIL_2 = "something else failed";

然后,在我的代码中,我包含了x.js文件

<script language="Javascript" src="/scripts/x.js"></script>

并在页面的下方,我具有此javascript函数:

function doSomething(x){
    try{
        if (ajaxCreateObjectinDB(x)){
            return true;
        }
        else{
            return false;
        }
    }
    catch(err){
    showErrorDiv(true, CONST_FAIL_1 + ":" + err.message);
        return false;
    }
}

我得到SCRIPT5009:'CONST_FAIL_1'是未定义的javascript错误

而且,无法识别功能变量的默认值。因此:

function x(x,y=true){....}

给我一个错误,认为'y'之后缺少')'。

感谢任何输入。

javascript internet-explorer internet-explorer-11 constants
1个回答
0
投票

众所周知,Const声明支持IE 11浏览器,而不是IE 5〜9。如果要声明变量,则可以尝试使用var语句。代码如下:

var CONST_FAIL_1 = "something failed";
var[enter link description here][1] CONST_FAIL_2 = "something else failed";

由于Default function parameters不支持IE浏览器,如果要设置默认值,可以在函数方法中进行检查,如下所示:

    function test(x, y) {
        if (y == undefined) {
            y = true;  // set the default value.
        }
    };
© www.soinside.com 2019 - 2024. All rights reserved.