var a = [];for (var i = 0; i < 10; i++) {
a[i] = function () { console.log(i);
};
}
a[6](); // 10在阮老師的es6網站上看到這段代碼,書中描述的是“上面代碼中,變量i是var聲明的,在全局范圍內都有效。所以每一次循環,新的i值都會覆蓋舊值,導致最后輸出的是最后一輪的i的值?!蔽矣X得并不是這樣,這個結果是閉包導致的。。。對嗎?原地址是:http://es6.ruanyifeng.com/#docs/let
這個函數是閉包嗎?
慕少森
2018-08-09 09:09:55