2012-10-27 93 views
0

我正在使用此代碼作爲我正在製作的遊戲的一部分。但爲了找出導致這個錯誤的原因,我將這段代碼放到了一個新的html文檔中。 我想使用此代碼:在函數內不能使用變量

<html> 
<script type="text/javascript"> 
Difficulty = Normal 
function ChangeGameMode() 
{ 
    alert (Difficulty + ' game started '); 
    } 
</script> 
<button type="button" class="StartButton" onclick="ChangeGameMode()">Start</button> 
</html> 

當我按一下按鈕,我沒有得到一個警報。什麼都沒發生。

但是,如果我沒有在警報使用難度變量 - 即:

alert ('Normal' + ' game started '); 

後來,當我使用的警報,而不是,它的工作。 我完全喪失了什麼是造成這種情況的原因,因爲這一點我一直在拉我的頭髮。任何幫助,將不勝感激。

+0

什麼是'Normal'變量?你想要一個字符串嗎? – Bergi

+0

順便說一下,你應該小寫所有的函數和變量的名稱,除非它們是構造函數 – Bergi

+0

當某些「不起作用」時,總是檢查Javascript控制檯的錯誤消息 – HBP

回答

4

您尚未正確定義Difficulty變量。您需要爲其分配一個有效值。 Normal不是有效的javascript值。你需要把它包在引號:

<html> 
<script type="text/javascript"> 
var Difficulty = 'Normal'; 
function ChangeGameMode() { 
    alert (Difficulty + ' game started '); 
} 
</script> 
<button type="button" class="StartButton" onclick="ChangeGameMode()">Start</button> 
</html> 
+0

Derp。我忘記用正常字符串。 我很習慣使用數字來表示我的變量而不是單詞。 – gabriel101x

0

普通必須加引號:

var Difficulty = "Normal";