Javascript 什么';调用函数时,将()放在末尾有什么不对?

Javascript 什么';调用函数时,将()放在末尾有什么不对?,javascript,function,parentheses,Javascript,Function,Parentheses,可能重复: 这听起来很基本,但我真的不明白 我试图从事件处理程序中删除(),这会在我的JavaScript网页中导致一个错误,调用函数时将()放在末尾和不放在末尾有什么区别 我的例子是: document.getElementById("searchField").onkeyup = searchSuggest; 当我改为searchSuggest()时,我的函数不起作用 谁能给我解释一下吗?如果我不清楚任何部分,请询问,谢谢。当您写信时: document.getElementById("

可能重复:

这听起来很基本,但我真的不明白

我试图从事件处理程序中删除
()
,这会在我的JavaScript网页中导致一个错误,调用函数时将
()
放在末尾和不放在末尾有什么区别

我的例子是:

document.getElementById("searchField").onkeyup = searchSuggest;
当我改为
searchSuggest()
时,我的函数不起作用

谁能给我解释一下吗?如果我不清楚任何部分,请询问,谢谢。

当您写信时:

document.getElementById("searchField").onkeyup = searchSuggest();
您正在调用
searchSuggest
函数,并将其返回的值分配给
onkeyup
成员。在您的情况下,您可能希望将函数本身分配给
onkeyup
,因此您应该编写:

document.getElementById("searchField").onkeyup = searchSuggest;
当你写作时:

document.getElementById("searchField").onkeyup = searchSuggest();
您正在调用
searchSuggest
函数,并将其返回的值分配给
onkeyup
成员。在您的情况下,您可能希望将函数本身分配给
onkeyup
,因此您应该编写:

document.getElementById("searchField").onkeyup = searchSuggest;

我认为复制链接应该回答你的问题;如果没有的话就这么说。我认为重复链接应该能回答你的问题;如果没有,就说出来。