gpt4 book ai didi

javascript - 将事件处理程序分配给带括号和不带括号的方法之间的区别

转载 作者:行者123 更新时间:2023-11-29 16:13:45 25 4
gpt4 key购买 nike

假设您有以下内容:

函数 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com