当我用匿名函数(如
)编写代码时,我会编写一些JavaScript
代码
<br />"button.onclick = function() { some code; };
,
它正常工作。但是当我尝试写作
时<br />
foe.onclick = myFunction();
function myFunction() { same code here; }
单击按钮后没有任何反应。我尝试在alert
中添加myFunction()
,并在页面加载后立即显示。为什么会这样?
答案 0 :(得分:0)
您需要从
更改foe.onclick = myFunction();
到
foe.onclick = myFunction;
答案 1 :(得分:0)
当您使用带括号的函数调用时,您正在调用该函数。所以,当你使用:
foe.onclick = myFunction();
它实际上在此时执行该函数并返回要使用的onclick
的值。
您也可以使用:
function myFunction () {
return anotherFunction();
}
foe.onclick = myFunction();
此处,点击anotherFunction
元素时会调用foe
。
正如辛指出的那样,你可以使用:
foe.onclick = myFunction;
单击元素时调用myFunction
。在Javascript中,函数可以像变量一样被引用和传递:D