"未定义的“;全局变量-非常奇怪

"Undefined" Global Variable - Very odd

本文关键字:非常 全局变量 quot 未定义      更新时间:2023-09-26

Folks,

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

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

任何建议都将不胜感激。

尝试重新排序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>标记而不是文件中定义了全局变量。而且效果很好。