for...in 和 for...of的区别

for...in 和 for...of的区别

for···in和for···of的区别:

首先一句话:(for···in取key,for··of取value)

①从遍历数组角度来说,for···in遍历出来的是key(即下标),for···of遍历出来的是value(即数组的值);

var arr = [99,88,66,77];

for(let i in arr){

    console.log(i); //0,1,2,3

}

for(let i of arr){

    consoel.log(i); //99,88,66,77

}

②从遍历字符串的角度来说,同数组一样。

③从遍历对象的角度来说,for···in会遍历出来的为对象的key,但for···of会直接报错。

var obj = {name:"Bob",age:25};

for(var i in obj){

    console.log(i) // name age

}

for(var i of obj){

    console.log(i) //报错

}

④如果要使用for…of遍历普通对象,需要配合Object.keys()一起使用。

var person={

    name:'coco', age:22,

    locate:{

        country:'China', city:'beijing',

    }

}

for(var key of Object.keys(person)){

    //使用Object.keys()方法获取对象key的数组

    console.log(key+": "+person[key]);    //name: coco,age: 22,locate: [object Object]

}


end
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ECMAScript - 学习笔记 🎬 🧩nvm node.js 包管理工具 nvm github[https:/...
    Super三脚猫阅读 4,177评论 0 1
  • [if !supportLists]第一章 [endif]ES2015 ECMAScript 6(简称ES6)是于...
    海绵宝宝_b8a2阅读 3,701评论 0 0
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 9,699评论 0 13
  • 1、JavaScript初识 1. 说几条 JavaScript 的基本规范? (1)一个函数作用域中所有的变量声...
    没糖_cristalle阅读 3,800评论 0 0
  • ES全称ECMAScript,ECMAScript是ECMA制定的标准化脚本语言 ES6新特性(2015) ES6...
    考拉程序媛阅读 2,924评论 0 0