for of循环得到value,for of不能遍历普通对象,不会遍历自定义属性的值,遍历的是iterable类型(Array,Map,Set),如果非要使用for of遍历普通对象可以搭配Object.keys()遍历,遍历得到key
var arr=[1,2,3,4];
var obj={
"a":1,
"b":2
}
for(var i in arr){
console.log(i)//0,1,2,3
}
for(var i of arr){
console.log(i)//1,2,3,4
}
for(var i in obj){
console.log(i)//a,b
}
for(var i of obj){
console.log(i)//obj is not iterable
}
Array.prototype.a=123
for(var i in arr){
console.log(i)//0,1,2,3,a
}
for(var i of arr){
console.log(i)//1,2,3,4
}
for(var i of Object.keys(obj)){
console.log(i)//a,b
}
for in循环的是key,可以遍历自定义属性for of循环得到value,for of不能遍历普通对象,不会遍历自定义属性的值,遍历的是iterable类型(Array,Map,Set),如果非要使用for of遍历普通对象可以搭配Object.keys()遍历,遍历得到key var arr=[1,2,3,4]; var obj={ "a":1, ...