关于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]为属性值 }