今天在developer.mozilla.org看到一個有趣的寫法,故在此記錄一下
1 | [].forEach.call(files, readAndPreview); |
這段寫法其實是下面的簡潔寫法
1 | Array.prototype.forEach.call(files, readAndPreview); |
- files 可以是DOM元素, ex. document.querySelectorAll(“.imgFrame”)
- 利用call把空陣列的this指向files,如此一來files就能跑forEach了
- 而後面的call back function , 可以取得陣列的值及index,可以做額外處理
1 | [].forEach.call(["a", "b", "c", "d"], function (item, index, arr){ |
參考
Function.prototype.call
What does [].forEach.call() do in JavaScript?