gpt4 book ai didi

javascript - 这两个函数声明有什么区别?

转载 作者:行者123 更新时间:2023-11-29 18:56:50 25 4
gpt4 key购买 nike

版本 1:

function myF() {
var executed = false;
return function() {
if (!executed) {
executed = true;
document.getElementById("demo").innerHTML = "Ab"
}
};
};

myF();

版本 2:

var myF = (function() {
var executed = false;
return function() {
if (!executed) {
executed = true;
document.getElementById("demo").innerHTML = "Ab"
}
};
})();

myF();

为什么 v2 有效,为什么 v1 无效?这两者在调用时的主要区别是什么?

最佳答案

版本 2 返回 IIFE 的结果, 版本 1 相同但不调用表达式。您可以myF()() 一样调用它,

function myF() {
var executed = false;
return function() {
if (!executed) {
executed = true;
document.getElementById("demo").innerHTML = "Ab"
}
};
};

myF()();
<div id="demo">
</div>

关于javascript - 这两个函数声明有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49162266/

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