我正在使用JavaScript库(History.js),其中代码包含此匿名函数:
(function(window,undefined){
//...
})(window);
在我切换到IE7兼容模式之前,它适用于所有浏览器。我深入研究了这个“未定义”变量,导致脚本无法正常运行。换句话说,IE7似乎在看到这个未定义的关键字时停止了脚本。
据我所知,这个变量用于创建一个未定义的对象,但由于它实际上没有在任何地方定义,IE7以及之前可能不起作用。
解决方法是什么?有没有人遇到同样的问题?
答案 0 :(得分:0)
上面的代码段实际上并没有执行该功能。这是复制/粘贴错误吗?或者这是您的确切代码?如果是这样,试试这个:
(function(window, undefined) {
//...
})(this);
注意最后的括号和传递的this
对象(映射回函数内的局部变量window
。
答案 1 :(得分:0)
对此的解释和解决方法如下:
之前加入json2.js