for(let i=1; i<=5; i++) { setTimeout(function timer(){ console.log(i); },i*1000);
}
uj5u.com熱心網友回復:
博主的這個問題很有意思我自己試了一下發現可能是作用域問題?個人理解說的不對的話還請指點。首先由于定時器不存在等待的問題所以你回圈的這五次是一瞬間回圈出結果的,當你回圈結束完畢后時間到了定時器開始觸發倒計時,由于你回圈了五次所以可以理解為定義了五個定時器哪怕回圈結束他也會執行五次,回歸正題博主問不是分隔觸發我懷疑當這個回圈已經結束了他已經找不到那個i了所以他就索性按照你給的1*1000來計算了。至于列印出來的東西是之前的i沒錯但是回圈用到的i,不管你間隔時間是多少他最終都是以1*時間來計算的。
uj5u.com熱心網友回復:
樓主這個編輯器不錯啊,還有運行除錯的。。。uj5u.com熱心網友回復:
一個app JSBoxuj5u.com熱心網友回復:
程式跑的沒問題,就是一次創建了5個定時器,最斷的為1s,最長的為5s.轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/119555.html
標籤:JavaScript
上一篇:autopost 采集 前端文章代碼不會換行 怎么弄!!!
下一篇:連接資料庫例外,導致日志不斷增大
