for..in用于遍历数组或者对象的属性
for(自定义变量名 in 数组/对象){
执行代码
}
“自定义变量名”用来指定是数组的元素索引,也可以是对象的属性
在数组中 自定义变量是存储了数组的索引值
在对象中,存储了其键值
// 数组
var arr = ['a',123,786,999]
// 对象
var obj = {name:'zhangsan', age: 18}
// for/in
// forin遍历数组
for(var index in arr){
console.log(arr[index]);
}
// 遍历对象
for(var key in obj){
console.log(key + '--' + obj[key]);
}
输出结果:
a
123
786
999
name--zhangsan
age--18
for of 和for in它们两者都可以用于遍历,不过for in
遍历的是数组的索引(index
),而for of
遍历的是数组元素值(value
)
var myObject={
a:1,
b:2,
c:3
}
for (var key of Object.keys(myObject)) {
console.log(key + ": " + myObject[key]);
}
//a:1 b:2 c:3
总结:
for in
遍历的是数组的索引(即键名),而for of
遍历的是数组元素值
for in
总是得到对象的key
或数组、字符串的下标
for of
总是得到对象的value
或数组、字符串的值