追求卓越一諾千金

藍藍設計-__168彩票平台可靠吗,2011年成立|_锦江区公众信息网,主創清華團隊__|365彩票买不了吗,專注軟件和互聯網ui設計開發|_玩趣乐品。擅長企業信息化管理_|助赢软件计划、監控_-众购彩票网官网、大數據軟件UIUE谘詢和設計開發服務-_摩托车驾驶证查询。立足UI|-郎酒股票代码,好好學習-|iphone5香港官网,天天進步|__256买彩票平台安卓v14!


for循環包裹setTimeout計時器

2019-7-19 釋然 前端及開發文章及欣賞


如果您想訂閱本博客內容___苍井空ed2k,每天自動發到您的郵箱中_|-迪吧现场图片, 請點這裏

for(var i = 0; i < 5; i++) {
console.log(i)
}

這樣for循環可打印出 0 - 4的結果

for(var i = 0; i < 5; i++) {
    setTimeout(function() {
console.log(i)
    }, i * 1000)
}

但這樣隻能間隔一秒打印出5個5

原因在於 setTimeout是異步-|石上藕,等for循環全部完成 i 後才會執行

解決方法可以將 for循環中的var 變成 let

let隻作用於for循環內--|隆化教育信息中心,這樣每次付給setTimeout的值都是當前值

或者在setTimeout外再包一層function

for(var i = 0; i < 5; i++) {
    (function(i) {setTimeout(function() {
console.log(i)
    }, i * 1000)})(i)

}

將 i 作為參數傳到setTimeout中運行 這樣就可以得到每隔1秒加1的log結果了
藍藍設計www.jwrumpff.com )是一家專注而深入的界麵設計公司_|强心脏20121127,為期望卓越的國內外企業提供卓越的UI界麵設計-|_金惠明、BS界麵設計 _||98年世界杯、 cs界麵設計 |-|诸暨凯翔、 ipad界麵設計 |-都匀蓝宇装饰、 包裝設計 -|众购彩票网官网、 圖標定製 |-联想idealife、 用戶體驗 -_富莱健、交互設計|_-刘俊麟图片、網站建設 -_2011手机qq下载、平麵設計服務|_足球红牌罚下有替补吗。

標簽: for循環包裹setTimeout計時器 « Control Center「元辰」數據概念控製中心 | 設計師必須了解的色彩理論»


訂閱Rss