我做的詞彙範圍,以打字稿處理的教程,我已經遇到使用這是我從未見過的功能。這看起來像forEach語句中的空函數。在打字稿它看起來像這樣:Typscript/JavaScript的的forEach
fns.forEach(fn=>fn());
在javascript中,它看起來像:
fns.forEach(function (fn) { return fn(); });
我從來沒有見過像這樣使用的功能。有人可以解釋這是如何工作的?具體來說,fn => fn()實際執行的是什麼。參考下面的代碼,它是執行fns.push還是for循環?如果它是For Loop,那麼它沒有提及,所以它是如何知道的?
下面是全碼:
打字稿:
var fns = [];
for(var i=0;i<5;i+=1){
fns.push(function(){
console.log(i);
})
}
fns.forEach(fn=>fn());
的JavaScript
var fns = [];
for (var i = 0; i < 5; i += 1) {
fns.push(function() {
console.log(i);
});
}
fns.forEach(function (fn) { return fn(); });
什麼這麼複雜?它執行數組中的每個函數。但是,由於關閉問題,您的示例將不起作用。嘗試將'for'循環中的'var'更改爲'let'。此外,雖然與您的問題無關,但箭頭功能並非TypeScript特有的 - 它們只是普通的舊ES6。 – 2016-07-05 06:01:45