2013-01-10 44 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