“未定义”全局变量 - 很奇怪

时间:2013-07-30 04:18:26

标签: javascript variables undefined global

民间,

我在' global.js'中指定了一个全局变量。如下:

var GAME = {
    board: { 
        /* some custom properties here */ 
    },
    ...
}

在我的HTML文件中,我按以下顺序加载脚本文件:

<script src="/script/jquery.js"></script>
<script src="/script/global.js"></script>
<script src="/script/setup.js"></script>
<script src="/script/main.js"></script>

在最后加载的&#39; main.js&#39;是一个简单的jQuery语句,如下所示:

$(document).ready(function() {
    MyFunction();
});

&#39; MyFunction&#39;在&#39; setup.js&#39;中定义。文件,我在其中声明了一个变量,如下所示:

var board = GAME.board;

我认为这应该是按照指定的顺序加载一系列脚本文件的简单练习,等待所有脚本加载完毕,然后调用“MyFunction”&#39;它引用了全局变量&#39; GAME&#39;。但是,当我在Firefox中加载它时,我得到TypeError: GAME is undefined错误。进一步让我感到困惑的是,IDE的智能功能可以在其参考点上获取所有GAME的成员对象(包括&#39; board&#39;),因此毫无疑问至少在IDE上下文中正确识别全局变量。

非常感谢任何建议。

1 个答案:

答案 0 :(得分:-1)

尝试重新排序js文件,我用来在所有其他文件之前定义全局文件。 我认为正确的顺序必须是

<script src="/script/global.js"></script>
<script src="/script/jquery.js"></script>
<script src="/script/setup.js"></script>
<script src="/script/main.js"></script>

在最新项目中,我在<script>标记内定义了全局变量而不是文件。它工作正常。