js閉包 關於在for迴圈中每隔一秒列印一次

2021-09-21 07:12:55 字數 1037 閱讀 9869

上篇我們介紹了js閉包-關於在for迴圈中繫結事件列印變數i

我們可以將結果一次性列印出0 1 2 3 4,那麼下面我介紹一下每隔一秒鐘一次列印出 0 1 2 3 4

1000*i是重點

es5方法:

for (var i = 0; i < 5; i++) , 1000 * j); 

})(i);

} settimeout(function() , 1000 * i);

結果

es6方法:

const tasks = ;

const output = (i) => new promise((resolve) => , 1000 * i);

});for (var i = 0; i < 5; i++)

//最後的i的值是在非同步全部完成之後

promise.all(tasks).then(() => , 1000);

});

結果:

es7方法:

const sleep = (timeountms) => new promise((resolve) => );

(async () =>

console.log(new date, i);

}//迴圈完成之後

Js閉包與迴圈

目標 點選任何乙個li,提示當前點選位置 1 先執行 1 位置,彈出5次警示框從0到4,執行的是for語句,i 在for內部已經變為5 2 li i 是獲取的li的htmlcollection物件,i i 相當於li.item i 3 為li i 繫結事件,li i onclick 實際上此時執行的...

關於js的閉包

要理解上面的問題,首先要理解清楚幾個概念 來自 閉包裡的微觀世界 區別就是值型別變數是可以直接訪問棧 stack 中的值 接下來的內容就是關於閉包的微觀世界 function a return b var c a 函式a執行後返回函式b,並將函式b賦給c c 輸出 1 本來這個地方變數i是定義在函式...

關於 let 在 for 迴圈中的理解

每次閱讀 ecmascript 6 入門 時,關於其中的一塊 總是不能很好的理解。如下 var a for let i 0 i 10 i a 6 6 與之對應的 如果使用 var 定義變數 i,最後都是輸出10 這個都沒什麼問題,那是因為for不是塊級作用域,變數 i 直接是全域性變數。我們都知道,...