for in 用来循环对象 获取对象的键名
var selfObj={
a:1,
b:2,
c:3
}
for (var key in selfObj) {
console.log(key);
}
//console.log 得到a,b,c
for of 用来循环数组得到数组元素
var aa=[5,2,1];
for(var value of aa)
{console.log(value)
}
//console.log得到5,2,1
Object.keys() 方法会返回一个对象自身可枚举的键名(属性名)的数组集合
var obj1={"aa":"11","bb":"22"};Object.keys(obj1)
得到["aa", "bb"]
我看了网上的文章说 使用for in会遍历数组所有的可枚举属性,原型,方法,for of则不会,只会遍历的只是数组内的元素。for in遍历的是数组的索引(即键名),而for of遍历的是数组元素值
Array.prototype.self=function(){
console.log(this.length);
}
var myArr=[11,22,33,44,55]
myArray.name="我"
for (var index in myArr) {
console.log(myArr[index]);
}
//console.log得到11,22,33,44,55,我,ƒ (){console.log(this.length);}
Array.prototype.self=function(){
console.log(this.length);
}
var myArray=[11,22,33,44,55]
myArray.name="我"
for (var index of myArray) {
console.log(index);
}
//console.log得到11,22,33,44,55