js中for循环和while循环在使用的时候有何区别?

JavaScript017

js中for循环和while循环在使用的时候有何区别?,第1张

for用于可预测循环次数的情况,而while可在不确定循环次数时使用,while甚至可以不在循环指令上指定跳出循环的条件。应该优先考虑for循环,一般情况下for循环的效率都是最高的。

按照你的要求编写的Javascript程序如下(我给你写了两种写法,一种简单,一种复杂一点)

第一种

<script type=text/javascript>

 var str=window.prompt("请输入一个数:")

 alert(str+"是"+str.length+"位数")

</script>

第二种

<script type=text/javascript>

 var str=window.prompt("请输入一个数:")

 var num=parseInt(str)//parseInt函数是字符串型转整型的函数

 var n=num

 var count=0

 while(n!=0){

  n=Math.floor(n/10)//floor函数是向下取整函数,比如Math.floor(4.58)=4

  count++

 }

 alert(num+"是"+count+"位数")

</script>

运行结果

请输入一个数:12345

12345是5位数

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对象})