第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > for in . for of . forEach 区别

for in . for of . forEach 区别

时间:2020-11-23 04:57:39

相关推荐

for in . for of . forEach 区别

之前对三者的区别并不是很明确清晰,所以准备重新温习。

看了很多,也总结不少,感觉还是MDN总结的挺好

forEach只能用于数组而且forEach不支持break,return,continue.

for...of与for...in的区别

无论是for...in还是for...of语句都是迭代一些东西。它们之间的主要区别在于它们的迭代方式。

这里的迭代其实就循环的意思或者也可以说成枚举

for...in 语句以任意顺序迭代对象的可枚举属性。

for...of语句遍历可迭代对象定义要迭代的数据。

以下示例显示了与Array一起使用时,for...of循环和for...in循环之间的区别。

Object.prototype.objCustom = function() {};Array.prototype.arrCustom = function() {};let iterable = [3, 5, 7];iterable.foo = 'hello';for (let i in iterable) {console.log(i); // 0, 1, 2, "foo", "arrCustom", "objCustom"}for (let i in iterable) {if (iterable.hasOwnProperty(i)) {console.log(i); // 0, 1, 2, "foo"}}//hasOwnProperty() 来检查,如果找到的枚举属性是对象自己的(不是继承的)。如果是,该属性被记录。for (let i of iterable) {console.log(i); // 3, 5, 7}

另外提示一下看到第一个for 。。。 in 结果有点懵的同学:

每个对象将继承objCustom属性,并且作为Array的每个对象将继承arrCustom属性

由于继承和原型链,对象iterable继承属性objCustomarrCustom

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。