关于ES6中for of和for in的理解

关于ES6中for of和for in的理解

简单理解:for/in 语句用于循环对象属性。

循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。

区别如下
1).遍历数组:
for of循环
var arr = [7, 2, 6, 4, 5, 6, 7] //申明一个数组
for (var value of arr) {
document.write(value)//7 2 6 4 5 6 7

//value为数组的元素,比For-in访问数组操作简单

for in循环
var arr = [7, 2, 6, 4, 5, 6, 7] //还是这一个数组
for (var value in arr) {
// document.write(value) //0 1 2 3 4 5 6
document.write(arr[value])//7, 2, 6, 4, 5, 6, 7这样才能拿到值
//value是索引号
}

2).遍历对象:
一.遍历数组:
for in循环
var obj = {
name: ‘zhangsan’,
age: 16,
sex: ‘男’
} //申明一个对象
for (var x in obj) {
console.log(x + ‘=’ + obj[x]);
//遍历数组时,x为对象的属性名,obj[x]为属性值
}

for of循环
var obj = {
name: ‘zhangsan’,
age: 16,
sex: ‘男’
} //申明一个对象
//Object.keys(obj)
for (var x of Object.keys(obj)) {
console.log(x + ‘=’ + obj[x]);
//遍历数组时,x为对象的属性名,obj[x]为属性值
}

你可能感兴趣的:(关于ES6中for of和for in的理解)