gpt4 book ai didi

javascript - 使用 setTimeout(fn, 0) 将代码执行推迟到当前调用堆栈之后是否可靠?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:35:15 26 4
gpt4 key购买 nike

我有一个被调用次数未知的函数。我需要知道函数运行了多少次,所以我正在做:

(function () {    

var i = 0,
increment = function () {
if (i === 0) {
setTimeout(function () {
console.log('increment was called ' + i + ' times.'); // increment was called 3 times.
i = 0;
}, 0);
}
i++;
};

increment();
increment();
increment();

})();

谁能告诉我这是否在所有浏览器中都可靠,或者是否有更好的模式来实现这一点?

最佳答案

setTimeout() 将一个函数放在队列中,该函数在所有其他函数运行后执行。

如果在调用 increment() 之前多次调用 setTimeout(),您可能会注意到 i 变量的值更大大于 1。

关于javascript - 使用 setTimeout(fn, 0) 将代码执行推迟到当前调用堆栈之后是否可靠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13735875/

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