1

尝试在 IE8 中声明全局变量时,会引发以下错误:

SCRIPT438: Object doesn't support this property or method
Script.js, line 2 character 5

这是一个精简版的代码,它会导致同样的错误。

$(document).ready(function () {
    GlobalVar = {};
}

有谁知道为什么 IE8 及之前的版本会在简单地声明全局变量时导致错误?

谢谢您的帮助 :)

4

4 回答 4

0

我只是添加一个听起来相似的问题。

确保该变量不是从另一个脚本设置的。然后,您将在先前初始化的变量和您的调用“GlobalVar = {}”之间发生冲突。

通过在它前面添加 var 来确保 GlobalVar 是 jQuery 就绪调用的本地变量。var GlobalVar = {};

于 2012-05-31T16:13:02.007 回答
0

隐式全局变量是一种不好的编码习惯。你应该做

window.GlobalVar

反而。

于 2012-06-01T16:19:44.287 回答
0

做:

var GlobalVar;

$(document).ready(function () {
    GlobalVar = {};
});

工作?

于 2012-05-31T16:02:30.953 回答
0

在 document.ready 上,全局变量被初始化为 10 。它可以在该脚本内的任何函数内全局访问..

<script>

    var GlobalVar;

    $(document).ready(function () {
        GlobalVar = 10;
        temp();
    });

    function temp()
    {
      var a = GlobalVar;

      alert(a); //gives you that 10 


    }

    </script>
于 2012-05-31T16:10:29.683 回答