码迷,mamicode.com
首页 > 其他好文 > 详细

for循环,for in和for of的区别

时间:2017-12-15 21:31:17      阅读:425      评论:0      收藏:0      [点我收藏+]

标签:操作符   属性   es6   als   操作   原型   undefined   遍历数组   define   

最近在写代码,总在被烦恼着到底遍历的时候到底该使用for循环,还是使用for in或者for of  ,今天查了以下 ,写出来。

我们一般用for循环来遍历数组,因它可以按顺序的返回每一个索引的值或者索引 ,for循环并不能遍历对象。

for in 用来遍历对象及其原型链上的可枚举属性,而且它的遍历结果不一定是按照顺序来的。

就比如说 如果数组长度中存在空值或者undefined ,那么for in 会直接忽略它,迭代下一个属性。并且for in 还会迭代 原型上继承的以及添加的可枚举属性。

for..of是es6新添加的语法,如果说for in用来遍历键名,那么for of  就是用来遍历键值的。for in 和for的区别是 :for in 遍历是无顺序的且遍历所有可枚举属性,而for of 是按顺序的遍历可迭代对象定义的要迭代的数据。for in 较适合用来遍历对象,因为对象的属性就是无顺序的。

补充 :in操作符  in操作符用来判断一个属性是否是某个对象本身的属性或者是从原型继续下来的,如果是返回true,否则的话,返回false.

in 对删除后的属性返回的是false,而如果一个属性的值为undefined或者为null,则in依然返回true。

这个就是学习的小心得了,不喜勿喷。欢迎advise.

 

 

for循环,for in和for of的区别

标签:操作符   属性   es6   als   操作   原型   undefined   遍历数组   define   

原文地址:http://www.cnblogs.com/Smiling01/p/8044834.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!