假设您有以下内容:
函数 doStuff() {
//代码
}
这两个语句有什么区别?
window.onload = doStuff;
window.onload = doStuff();
两个语句都立即调用了该方法,但如果我使用第一个语句,我可以将 onload 视为指向“doStuff”的函数指针,然后再次调用该方法使用:
onload();
这是唯一的区别吗?总的来说,这是事件处理程序的所有保证行为吗?
最佳答案
window.onload = doStuff();
这将在 iterpreter 到达那里时立即触发。
window.onload = doStuff;
它是对 future 要调用的函数的引用。
问题:
什么时候应该使用 window.onload = doStuff();
回答:
当你需要创建闭包时:
示例:
window.onload = doStuff();
在哪里
function doStuff()
{
var i = 0;
return function ()
{
return i++;
};
}
关于javascript - 将事件处理程序分配给带括号和不带括号的方法之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20854084/