死循环出现的两种情况,1、条件不对,2、没有向条件外运行的过程 while循环有3个重要的部分,1、起始值,2、条件,3、向条件外允许的过程
var str="<ul>"; var i=0; while(i<10){ str+="<li>"+i+"</li>"; i++; } str+="</ul>"; document.body.innerHTML=str; var obj={value:1,next:{value:2,next:{value:3,next:{value:4}}}}; while(obj.next){ console.log(obj.value); obj=obj.next; }条件 隐式转换为布尔值 进入循环必须依靠条件 跳出循环时,不一定依靠条件 为了跳出而工作的代码:什么时候进,循环多少次,什么时候出
const ROW=10,COL=10; var i=0,j=0; var str="<table>"; while(i<ROW){ str+="<tr>"; j=0;//双重循环,内部循环需要重置 while(j<COL){ str+="<td>"+j+"</td>"; j++; } str+="</tr>"; i++; } str+="</table>"; document.body.innerHTML=str;break:可以出现在循环和switch,跳出循环,不会进入循环;双重循环仅跳出当前循环
跳出最外层循环!
var i=0,j=0; a:while(i<10){ j=0; console.log("i="+i); while(j<10){ console.log("j="+j); if(i*j===30) break a; j++; } i++; }a是tag,可以随意取名字
continue:只能出现在循环中,跳出此次循环
var str="09azAZ"; console.log(str.charCodeAt(5));//获取第几位字符ascii值 console.log(String.fromCharCode(98));//将ascii转换为字符continue可以排除掉不要的数据;
var i=47; while(i++<122){ if(i>57&&i<65) continue; if(i>90&&i<97) continue; arr.push(String.fromCharCode(i)); } console.log(arr);1.不管条件是否满足,都先做一次操作,然后根据条件判断是否接着循环 2.限定进入循环的起始条件和结束循环的条件;
//1.初始变量仅执行一次 //2.循环条件每次执行,先判断条件然后进入循环 //3.变量变化,循环每次都执行,所有语句块运行结束后执行
for(初始变量;循环条件;变量变化) { 循环体; } 语句5