簡體   English   中英

如何更改外部.js文件中的變量數據值?

[英]How do I change a variables data value in external .js file?

因此,我正在開發一個游戲,現在正在嘗試制作一個關卡選擇器。 但是我只希望玩家能夠打敗他們。 因此,我有一個標記為“ ELD.js”的.js文件,其中包含:

    var Levels = 0;

我真的不在乎如何(在編程類型方面)。 但是我希望每次贏得級別時都能夠更改“級別”數據值。 每個級別都有自己的單獨html文件,所有級別文件都與“ ELD.js”文件位於同一文件中。

我一直在尋找答案,但是似乎沒有一個能滿足我的需求。

當我在這個主題上時(如果我錯了,請糾正我),但是我可以使用此權限簡單地測試“級別”數據值嗎?

    <script type="text/javascript" src="ELD.js"></script>
    <script>
    if(Levels =< X)
    {
         }
    </script>

X只是代表一個未定義的數字,我將在以后選擇。

您可以將javascript文件構建為一個類,然后將該變量分配給該類,例如:

class GameLevel {
    constructor (level) {
        this.level = level;
    }

    get_level () {
        return this.level;
    }

    set_level (level) {
        this.level = level;
    }
}

然后,在整個游戲中,您都有自己的對象:

var cur_level = 1;
var level = new GameLevel (cur_level);

然后在打敗一場比賽后,您只需致電

level.set_level (++cur_level)

我相信您甚至可以說level.level = cur_level + 1;

編輯

另外,因為您希望將javascript數據傳遞到另一個html文件,所以也可以通過該傳遞給您。 您可以使用以下邏輯:

  1. 在新標簽頁中打開新級別
  2. 傳遞數據
  3. 關閉當前窗口,然后專注於新打開的窗口

這就像是一種奇怪的方法,但是我相信它可以工作:)要執行此操作,請運行以下代碼:

var newLevel        = window.open (<URL TO HTML FILE>, '_blank');

// passing thejavascript data
newLevel.new_level  = level.get_level ;  // This is the data to pass or you can use the variable you had declared

// focus on new window
newLevel.focus ();

// close current window
window.close ();

編輯

然后在所有的html文件中,您可以使用window.new_level獲取新級別數據的值。打開窗口時,將設置您傳遞的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM