在我的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'之后缺少')'。
感谢任何输入。
众所周知,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.
}
};