笔记:for in 与for of的区别

概述

  • for in 是es 5 的数组方法,for…in 语句以任意顺序迭代对象的可枚举属性,常用来遍历对象的键。

  • –for … in会遍历对象的整个原型链,性能非常差不推荐使用,而for … of只遍历当前对象不会遍历原型链

  • 对于数组的遍历,for … in会返回数组中所有可枚举的属性(包括原型链上可枚举的属性),for … of只返回数组的下标对应的属性值

  • for of是es6新增的方法,可以用来遍历对象的值

  • for of的出现是为了弥补for in缺陷的

for… of

  • for…of语句在可迭代(遍历)对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等)上创建一个迭代循环,调用自定义迭代钩子,并为每个不同属性的值执行语句

  • 语法: for ( var variable of iterable{
    //statements

    • variable
      在每次迭代中,将不同属性的值分配给变量。(即,将值给变量)
    • iterable
      被迭代枚举其属性的对象。(即被给值的对象)
      }
  • 遍历数组, 例:

let arr = [10, 20, 30];

for (let value of arr) {
    value += 1;
    console.log(value);
}
// 11
// 21
// 31

for… in

  • for…in语句以任意顺序遍历一个对象的除Symbol以外的可枚举属性。

  • 语法: for (key in object){

    • key
      在每次迭代时,key会被赋值为不同的属性名(键名)。
    • object
      非Symbol类型的可枚举属性被迭代的对象
      }
  • 遍历对象,例:

		var obj = {
		 a:1, 
		 b:2, 
		 c:3
		 };
    
		for (var key in obj) {
		  console.log("obj." + key + " = " + obj[key]);
		}
		// logs==>
		// "obj.a = 1"
		// "obj.b = 2"
		// "obj.c = 3"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值