1

伙计们,

我在“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>

在最后加载的“main.js”中,有一个简单的 jQuery 语句,如下所示:

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

并且“MyFunction”在“setup.js”文件中定义,我在其中声明了一个变量,如下所示:

var board = GAME.board;

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

任何建议将不胜感激。

4

1 回答 1

-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>在最新的项目中,我在标签而不是文件中定义了全局变量。它工作正常。

于 2013-07-30T04:22:50.333 回答