简述for in 和 for of 的区别

1、推荐在循环对象属性的时候使用 for...in,在遍历数组的时候的时候使用 for...of 
2、for...in 循环出的是 key,for...of 循环出的是 value 
3、注意,for...of 是 ES6 新引入的特性。修复了 ES5 引入的 for...in 的不足 
4、for...of 不能循环普通的对象(如通过构造函数创造的),需要通过和 Object.keys()搭配使用

 for in遍历数组的毛病:

1.index索引为字符串型数字,不能直接进行几何运算
2.遍历顺序有可能不是按照实际数组的内部顺序
3.使用for in会遍历数组所有的可枚举属性,包括原型。例如上栗的原型方法method和name属性
所以for in更适合遍历对象,不要使用for in遍历数组。

那么除了使用for循环,如何更简单的正确的遍历数组达到我们的期望呢(即不遍历method和name),ES6中的for of更胜一筹.

简述for in 和 for of 的区别_第1张图片

 

遍历对象

遍历对象 通常用for in来遍历对象的键名

简述for in 和 for of 的区别_第2张图片 

 

感兴趣的可以去查阅更多资料 谢谢大家 

 

你可能感兴趣的:(前端)