js常用循环方式的比较
Posted xudandan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js常用循环方式的比较相关的知识,希望对你有一定的参考价值。
for in VS for of
1、for in 取 key; for of 取 value;
2、for of 只能用于数组遍历,for in还可以用于对象属性的遍历;
3、同是便利数组时,由于1属性,for in只能遍历数组元素的索引值,而for of可以遍历出所有数组元素;
4、for in能遍历数组上手动添加的值或者是该数组原型上的值,而for of只能遍历改数组的value;
5、for...of和for...in循环可以与break、continue配合使用,跳出循环,不能使用return,会报错;
6、无论是 for...in 还是 for...of 都不能遍历出 Symbol 类型的值,遍历 Symbol 类型的值需要用 Object.getOwnPropertySymbols() 方法;
forEach VS map VS $.each
1、forEach()返回值是undefined,不可以链式调用;
2、map()返回一个新数组,原数组不会改变;
3、没有办法终止或者跳出forEach()循环,除非抛出异常,使用break报错,使用return会跳出本次循环,继续下一次的循环;
4、$.each()方法规定为每个匹配元素规定运行的函数,return true跳过当过循环return false跳出所有循环;
5、参数只有$.each(key, value),其他均为value,key形式;
6、forEach中回调函数的最后一个参数是当前数组本身,自身的第二个函数是执行回调时,this的指向,默认是this;
7、map()必须要有返回值,否则返回的是包含被map数组长度的undefind值;
以上是关于js常用循环方式的比较的主要内容,如果未能解决你的问题,请参考以下文章