2013-01-10 45 views
-1

我在這裏有一個很小的函數,我不斷收到語法錯誤:「missing; before statement」。我一遍又一遍地看了這個,並且不知道我做錯了什麼。找不到我的語法錯誤來自哪裏

generate() { 
var generateButton = document.getElementById("generateButton"); 
generateButton.onclick = addBox; 
} 
+0

之前有事嗎? –

+12

在'generate'之前是否缺少'''函數'? – Blender

回答

1

缺少關鍵字功能和功能定義addBox

function generate() { 
    var generateButton = document.getElementById("generateButton"); 
    generateButton.onclick = addBox; 
} 
function addBox() 
{ 
    alert('button clicked'); 
} 
2

在JavaScript中,聲明函數時,你必須使用function關鍵字:

function generate() { 
    var generateButton = document.getElementById("generateButton"); 
    generateButton.onclick = addBox; 
} 

你也可以這樣做:

var generate = function() { 
    var generateButton = document.getElementById("generateButton"); 
    generateButton.onclick = addBox; 
} 

編輯:

正如@ jerome.s指出,重要的是要rembember的是,在第二個聲明中generate功能只能被稱爲它宣佈後,而第一個不具有此要求

+0

重要的是要注意這兩個聲明之間的區別:要使用'var generate = function(){}',只能在聲明它之後的**之後調用它** http://jsfiddle.net/kUBVu/ – wakooka