2013-10-17 83 views
1

當您運行腳本時,我注意到您寫出的變量只能運行一次。另一方面,可以多次調用函數。爲什麼我的函數中沒有全局變量?

有沒有辦法像調整功能一樣多次調用變量?對不起,沒有代碼,只是一個問題。

編輯:爲了澄清,我有一個全局變量,用於一個函數。但是,當我嘗試從一個單獨的函數調用這個變量時,它不會註冊,因爲它現在被認爲是「本地」的。

但是,如果我可以隨意調用全局變量,那麼我相信這會解決問題。

// BLITZ SKILL // <-- My 2nd Function trying to use my global variable counter 
document.getElementById("blitz").addEventListener('click', function(){ 
    var counter = setInterval(timer, 1000); // Trying to restart timer, does 
              // not register counter variable. 
    var damage = Math.floor(Math.random() * characterstats.strength); 
    document.getElementById("energy").innerHTML = character.energy; 

    if ((damage <= 0) && (character.energy >= 5)) { 
     addMessage("You miss the dragon!"); 
     character.energy -= 5; 
    } 

    else if (character.energy <= 4) { 
     addMessage("Not enough energy!") 
    } 

    if ((damage >= 1) && (character.energy >= 5)) { 
     dragon.hp -= damage; 
     document.getElementById("npchp").innerHTML = dragon.hp; 
     addMessage("You hit the dragon for " + damage + " hp!"); 
     character.energy -= 5; 
    } 
    document.getElementById("energy").innerHTML = character.energy; 
}); 

// 7. CODE TESTING AREA 
var counter = setInterval(timer, 1000); <-- MyGlobal Variable 

function timer() { // 
    var count = character.energy; 
    count += characterstats.energyregen; 
    if (count >= 35) { 
     clearInterval(counter); 
    } 
    document.getElementById("energy").innerHTML = count; 
    character.energy = count; 
} 
+2

你什麼意思通過調用一個變量做? – Chandu

+1

變量也可以使用多次。你能澄清你的問題嗎?也許你想在循環中使用變量。 – icedwater

+0

你是什麼意思'我注意到你寫出來的變量只能運行一次? –

回答

3

您正在使用var在您的函數中創建一個名爲counter的新本地變量。

只是參考了全球,像這樣不使用「無功」,它定義了一個新的變量,

document.getElementById("blitz").addEventListener('click', function(){ 
    counter = setInterval(timer, 1000); // <-- Trying to restart timer, does not 
    ... 
相關問題