1whilevar num = 1//1、声明循环变量while (num<=10){//2、判断循环条件 document.write(num+"<br />")//3、执行循环体操作;num++//4、更新循环变量;} while循环()中的表达式,运算结果可以是各种类型,但是最终都会转为真假,转换规则如下。①Boolean:true为真,false为假;②String:空字符串为假,所有非空字符串为真;③Number:0为假,一切非0数字为真;④null/Undefined/NaN:全为假;⑤Object:全为真。2do-while循环while循环特点:先判断后执行;do-while循环特点:先执行再判断,即使初始条件不成立,do-while循环至少执行一次;var num = 10 do{document.write(num+"<br />")//10 9 8 7 6 5 4 3 2 1 0num-- }while(num>=0) document.write(num)//-13,for循环for (var num =1num<=10num++) {document.write(num+" <br />")//1 2 3 4 5 6 7 8 9 10 }4for-in循环 var arr = ['a', 'b', 'c', 'd'] for (let a in arr) {console.log(a)// 0 1 2 3}for (let a of arr) {console.log(a)// a b c d}JQ循环有$.each和$.map('div').each(function (i){ i就是索引值 this 表示获取遍历每一个dom对象})
第一种:普通for循环
for(j = 0 j < arr.length j++) {
}
第二种:优化版for循环
for(j = 0,len=arr.length j < len j++) {
}
第三种:弱化版for循环
for(j = 0 arr[j]!=null j++) {
}
第四种:foreach循环
arr.forEach(function(e){
})
第五种:foreach变种
Array.prototype.forEach.call(arr,function(el){
})
第六种:for in循环
for(j in arr) {
}
第七种:map遍历
arr.map(function(n){
})
第八种:forof遍历(需要ES6支持)
for(let value of arr) {
})
for用于可预测循环次数的情况,而while可在不确定循环次数时使用,while甚至可以不在循环指令上指定跳出循环的条件。应该优先考虑for循环,一般情况下for循环的效率都是最高的。