详解for...in和for...of的区别
for...in 和 for...of 都是 JavaScript 中遍历数据的方法,让我们来了解一下他们的区别。
for...in 是为遍历对象属性而构建的,它以任意顺序遍历一个对象的除 Symbol 以外的可枚举属性,可用 break 或者 throw 跳出
语法:
例子:
在 JavaScript 中,数组也是对象的一种,所以数组也是可以使用 for...in 遍历
for...of 语句在可迭代对象上创建一个迭代循环,调用自定义迭代钩子,并为每个不同属性的值执行语句(包括 Array , Map , Set , String , TypedArray , arguments 等等,不包括 Object ),可用 break 或者 throw 跳出。
语法:
例子:
无论是 for...in 还是 for...of 都是迭代一些东西。它们之间的主要区别在于它们的迭代方式
下面列出遍历 Array 时候, for...in 和 for...of 的区别:
上例,通过 Array.prototype 添加了 ufo 属性,由于继承和原型链,所以 arr 也继承了 ufo 属性,属于可枚举属性,所以 for...in 会遍历出来,而 for...of 则不会。
如果看了觉得有帮助的,我是@ 鹏多多11997110103 ,欢迎 点赞 关注 评论;
END
往期文章
个人主页