我在 javascript 中有這段代碼,我認為它不應該導致堆疊溢位,但確實如此,因為在 setInterval 中,我引入了一個陳述句來停止另一個函式的無限遞回
let setval = false;
let ctr = 0;
let f = function() {
ctr ;
if (setval == true) {
return;
}
else {
f();
}
}
setTimeout(() => {
setval = true;
}, 1);
f();
為什么它會這樣?在 1 毫秒內肯定不會有 13985 次呼叫f(),這是 的值ctr。
uj5u.com熱心網友回復:
JavaScript 執行模型基于事件回圈。在 MDN 檔案站點下方閱讀有關此模型的更多資訊。

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/485769.html
標籤:javascript 递归 逻辑 设置间隔
上一篇:下拉選單在div內或動態不起作用
下一篇:CSS將兩個div并排放置
