可能重复:
In JavaScript, does it make a difference if I call a function with parentheses?
这听起来很基本,但我真的不明白。
我尝试从事件处理程序中取消()
,这会导致我的JavaScript网页出现错误,在调用函数时,将()
置于最后是什么区别。< / p>
我的例子是:
document.getElementById("searchField").onkeyup = searchSuggest;
当我改为searchSuggest()
时,我的功能无效。
有人可以向我解释一下吗?如果我发现任何部分不清楚,请询问,谢谢。
答案 0 :(得分:5)
当你写:
document.getElementById("searchField").onkeyup = searchSuggest();
您正在调用 searchSuggest
函数,并将返回的值分配给onkeyup
成员。在您的情况下,您可能希望将函数本身分配给onkeyup
,因此您应该写:
document.getElementById("searchField").onkeyup = searchSuggest;