我注意到您可以引用带或不带括号的函数。为什么?有什么区别?
顺便说一句,我注意到这有效:window.onload = functionName;
而这不是:window.onload = functionName();
谁能解释为什么代码的顶行起作用而底部的行不起作用?
最佳答案
()
版本未引用该功能。它调用该函数并引用其返回值。
给定此功能:
function functionName() {
return "I'm a function";
}
这引用了该函数:
// window.onload will reference the function, and invoked it when the page loads
window.onload = functionName;
...但是这引用了返回的字符串,对
window.onload
来说不是很有用: // the function is invoked immediately, so now window.onload references the
// string "I'm a function" that was returned
window.onload = functionName();
关于javascript - javascript:functionName()和functionName有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6037245/