js常见的几种循环
-
do-while 后测试循环语句,先执行再测试
-
while 前测试循环语句,先测试再执行
-
for //for(var i=0;i<10;i++){} var污染全局变量
-
for-in 遍历的是索引(键名)可用来枚举对象属性
-
forEach es5就加了呀
-
jq的$.each
//
().each() 用来遍历DOM元素
-
jq的
().map() 对于获得或设置元素集的值特别有用
-
map es5就加了呀
-
es6的for of 只有value,没有index
for of遍历的只是数组内的元素,而不包括数组的原型属性method和索引name -
return要在函数里面
-
forEach和map在IE6-8下都不兼容
-
主要也就用jq的$.each;es6的map
-
可以做个表展示各自支持哪些,如是否有返回值,能否中断循环,index与value参数的顺序
-
forEach与map和jq的$.map都是先value再index
-
$.each是先index
var arr = [11, 22, 33, 44]
//return和break一样是中断循环只有11,continue是跳过了22
for(var i = 0; i < arr.length; i++) {
if(arr[i] == 22) {
continue
}
console.log(arr[i])
}
//只能return, 跳过了22 ;不能中断循环
//arr.map...都一样,不同的是foreach没有返回值,map可以将返回值return出来
arr.forEach(function(value, index) {
if(value == 22) {
return
}
console.log(value)
})
//只能return,跳过了22;不能中断循环
//$.map就是index与value换位置,以及返回值可以return出来
$.each(arr, function(index, value) {
if(value == 22) {
return
}
console.log(value)
})
//return和break一样是中断循环只有11,continue是跳过了22;
//可是这个只有value没有index呀
for(let value of arr) {
if(value == 22) {
return
}
console.log(value)
}
//只能return,跳过了22;不能中断循环
//第一个参数是值
arr.map(function(value, index) {
if(value == 22) {
return
}
console.log(value)
})
参考:
原生JS forEach()和map()遍历的区别以及兼容写法
js的几种常用循环
for in 和 for of 的区别









网友评论