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

 我来答
白露饮尘霜17
2022-07-01 · TA获得超过1.2万个赞
知道大有可为答主
回答量:6616
采纳率:100%
帮助的人:35.7万
展开全部

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

往期文章

个人主页

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式