我注意到您可以使用或不使用括号来引用函数。为什么?有什么区别?
顺便说一句,我注意到这是有效的:
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:functionName() 和 functionName 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6037245/