[es6] for in与for of
- for in是遍历原型链上的所有的方法,为什么闭包里的匿名函数没有返回,后面的for循环也可以console.log呢?
'use strict'
var data = [];
for (var k = 0; k < 3; k++) {
(function (k){
data[k] = function () {
console.log('----' + k);
};
})(k);
}
for (var c in data) {
console.log(c);
}
输出 0 1 2
'use strict'
var data = [];
for (var k = 0; k < 3; k++) {
(function (k){
data[k] = function () {
console.log('----' + k);
};
})(k);
}
for (var c of data) {
c();
}
输出 ----0 ----1 ----2
2 回复
匿名函数没返回什么意思? 这个是作用域问题吧
for...in
只能得到index或者key,for...of
得到的是value,不一样。