尝试在IE8中声明一个全局变量时,会抛出以下错误:
SCRIPT438: Object doesn't support this property or method
Script.js, line 2 character 5
这是一个精简版本的代码,会导致同样的错误。
$(document).ready(function () {
GlobalVar = {};
}
有人知道IE8及以前的原因会导致错误,而只是声明一个全局变量吗?
感谢您的帮助:)
答案 0 :(得分:0)
确实
var GlobalVar;
$(document).ready(function () {
GlobalVar = {};
});
工作?
答案 1 :(得分:0)
在document.ready上,global var被初始化为10。它在该脚本内的任何函数内全局访问..
<script>
var GlobalVar;
$(document).ready(function () {
GlobalVar = 10;
temp();
});
function temp()
{
var a = GlobalVar;
alert(a); //gives you that 10
}
</script>
答案 2 :(得分:0)
我只是添加一个听起来类似的问题。
确保未从其他脚本设置变量。然后,您将在先前初始化的变量与您的调用“GlobalVar = {}”之间发生冲突。
通过在前面添加var,确保GlobalVar是jQuery ready调用的本地调用。 var GlobalVar = {};
答案 3 :(得分:0)
隐式全局变量是一种糟糕的编码习惯。你应该做
window.GlobalVar
代替。