繁体   English   中英

如何在另一个JavaScript文件的功能内使用远程存储的JavaScript文件中的变量?

[英]How could I use the variables from a remotely stored JavaScript file within the function of another JavaScript file?

目前,我正在尝试从存储在网页上的JavaScript文件(例如“ website.com/javascript.js”)中提取数组,并通过存储在为网站制作的JavaScript文件中的函数运行它。 这是一个游戏。

以前,我曾尝试将两个.js文件导入HTML文件,并将网站中的数组用作我自己的JavaScript文件的输入,但我似乎无法做到这一点。

我只是无法在线找到答案(或者不知道如何正确表达问题)。 如果需要为此目的导入任何东西,您能告诉我要导入什么吗? 谢谢!

这是我正在处理的代码。 对非常新手的代码感到抱歉,我在JavaScript中工作不多。

function makeBracket(players){
    var resultString;
    for (var i = 0; i < players.length; i++){
       var assassinName = players[i][1];
       var targetCode = players[i][4];
       for(var j=0;j<players.length;j++){
            var code = players[j][2];
            if(code == targetCode){
                var targetName = players[j][1];
                document.write(assassinName + " -> " + targetName + "<br>");
       }
    }
}

我将对包含您的函数的文件使用function.js ,对包含所需数据的文件使用array.js/array.json

使用全局变量

您可以同时包含两个文件,并将第一个文件上的数组公开为全局变量。 要包括它们,请在HTML上依次使用两个script标签:

<script type="text/javascript" src="/array.js"></script>
<script type="text/javascript" src="/function.js"></script>

array.js

window.myArray = [/* Data here */];

function.js

var array = window.myArray;
doStuff(array);

通过AJAX加载

另一种选择是将数组存储为JSON格式,然后使用AJAX异步加载。

考虑以下function.js

$.getJSON("/array.json", function(array) {
  doStuff(array);
});

加载后(我假设这里是jQuery,因为它位于问题的标记中),它将向/array.json发出请求,将其解析为JSON,并将结果传递给回调函数。 从那里,您可以对数据进行任何处理。

这种方法的优点是您无需担心文件的顺序,也无需使用任何全局变量。 但是,它的理解要稍微复杂一点,并且页面加载和数据到达之间会有一个小的延迟。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM