手机国产精品一区二区,另类第一页,亚欧在线,日韩一国产极品99热在线播放69_国产美女久久精品香蕉欧美_亚州中文无码aⅤ在线_免费国产v片在线

for循環(huán)包裹setTimeout計時器

2019-7-19    seo達(dá)人

如果您想訂閱本博客內(nèi)容,每天自動發(fā)到您的郵箱中, 請點這里

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

這樣for循環(huán)可打印出 0 - 4的結(jié)果

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

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

原因在于 setTimeout是異步,等for循環(huán)全部完成 i 后才會執(zhí)行

解決方法可以將 for循環(huán)中的var 變成 let

let只作用于for循環(huán)內(nèi),這樣每次付給setTimeout的值都是當(dāng)前值

或者在setTimeout外再包一層function

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

}

將 i 作為參數(shù)傳到setTimeout中運行 這樣就可以得到每隔1秒加1的log結(jié)果了
藍(lán)藍(lán)設(shè)計www.88yangsc.com )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計、BS界面設(shè)計 、 cs界面設(shè)計 、 ipad界面設(shè)計 、 包裝設(shè)計 、 圖標(biāo)定制 、 用戶體驗 、交互設(shè)計、網(wǎng)站建設(shè) 、平面設(shè)計服務(wù)。

日歷

鏈接

個人資料

藍(lán)藍(lán)設(shè)計的小編 http://www.88yangsc.com

存檔