1樓:walker2016
都沒答到點子上,題主的問題是把第二個引數i乘以1000都當做是乙個閉包來使用。然而事實情況是,settimeout函式本身是立即執行的,所以你傳給他的i*1000的i也是立即變為當前的i去定時!而callback才是真正的延時執行,並且不一定是間隔1s,你可以輸出到毫秒級別會發現這個東西只能是大致1s
2樓:笑陽Sean
我的理解是:setTimeout是同步執行的,它將第乙個引數,即function()掛載到所謂的任務佇列中,隨著i++,如下執行:
setTimeout
(function(),
0)setTimeout
(function(),
1000
)setTimeout
(function(),
2000
)setTimeout
(function(),
3000
)....
等到for迴圈結束了,再將事件拿出來處理,此時i為10。我們都知道任務佇列是先進先出的,於是列印出:
0秒的時候:10;
1秒之後:10;
2秒之後:10.......
粗淺理解,不對的地方請指教。
3樓:Sniper
因為這個setTimeout後面這個引數是i*1000,也就是說是1000,2000,3000.......毫秒之後執行函式,所以就是一秒乙個咯
web前端好學麼?
已重置 好不好學都是因人而異的。假如你非常想學,並且有吃苦耐勞的精神,我敢說,好學!假如你是一時興起,而不是真正的熱愛,我想說,不好學! 蘇夢苓 其實我們學習什麼都比較好學,相對來說一般的話開始的時候興趣會比較大一些。剛開始學習的時候也是比較有激情,入門方面的話簡單些,但是想要學好,那難度還是比較大...
web前端學習迷茫
weekbin 學會前端基礎,能熟練的進行業務開發,可以完善一下自己的專案 學會使用各種常用第三方工具 完善的過程中會遇到很多問題需要遞迴學習。如果專案之前沒有用 vue react 之類的框架,可以嘗試用框架整理重寫一下,中間有會遇到很多問題需要學習。開始思考專案用不用框架的區別,框架的原理,又一...
如何堅持自學Web前端?
堅持的前提是有動力,能看到結果 建議找個前端學習群或者一起學習的小夥伴,在基本入門的情況下就可以試著仿一些簡單的網頁,慢慢的能看到自己的作品就有了繼續學下去的動力了 NullFeng 堅持不下去就對了,說明不是很適合你,硬要堅持下去只會讓你越來越累,何必呢?換個其它的,只要你感興趣,越堅持越快樂!當...