簡體   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