IE9 javascript未定义错误

时间:2011-04-24 06:30:33

标签: javascript internet-explorer-9

我尝试修复我的应用程序以使用IE9浏览器(使用IE9标准模式)。

但是我收到一些未定义的javascript错误..

我在js文件中有以下代码。

1

if(escape(String.fromCharCode(111)).toLowerCase() != "abc")

{

    //code

}

我得到错误'escape'未定义。

2。 在一些js文件中,我为这段代码得到错误“Array is undefined”

//1
function abc(){

this.abc = new Array();

}


//2

var cde = new Array
(

  "aaa","bb","cc",

  "dd","eee","ff",  

);

但是,IE8标准模式和其他模式不会出现这些错误。

请让我知道为什么会出现这些错误以及如何解决此类错误。

3 个答案:

答案 0 :(得分:2)

虽然Ryan的答案解决了这个问题,但这里的问题是尾随逗号;

“DD”, “EEE”, “FF”,

答案 1 :(得分:0)

您可以简单地说......而不是使用新的数组(...)。

this.abc = [];

和...

var cde = ['aaa','bb','cc','dd','eee','ff'];

...

答案 2 :(得分:0)

你的abc函数将自己变成一个数组对象; thiswindow。也许this的上下文在某处发生了变化或被误解,并且代码无意中重新定义了window或其属性。这可以解释为什么像Arrayescape这样的全局变量是未定义的。 (不知道为什么它只会影响IE9标准模式。)