0

可能重复:
在 JavaScript 中,如果我用括号调用函数会有所不同吗?

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

我尝试从事件处理程序中起飞,它导致我的 JavaScript 网页出现错误,调用函数时()放置和不放置有什么区别。()

我的例子是:

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

当我更改为 时searchSuggest(),我的功能不起作用。

谁能给我解释一下?如果我有什么不清楚的地方,请询问,谢谢。

4

1 回答 1

6

当你写:

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

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

document.getElementById("searchField").onkeyup = searchSuggest;
于 2011-09-17T09:51:02.973 回答