break: 退出循环或者switch语句,在其他地方使用会导致错误!
for(var i=1;i<=10;i++) { if(i==5){ break; } console.log(i);//输出结果:1234 } console.log(1);//i==5,直接退出for循环,执行循环外面的之后的语句 复制代码
continue: 用在while语句、do/while语句、for语句、或者for/in语句的循环体内,在其它地方使用都会引起错误!
for(var i=1;i<=10;i++) { if(i==5) { continue; } console.log.(i);//输出结果:1234678910 } //当i=5,跳出本次for循环,继续执行下一次。 复制代码
return: 函数返回,同时函数停止,用在函数中,在其它地方使用都会造成语法错误!
//return 表达式; //结束函数执行,返回调用函数,而且把表达式的值作为函数的结果. function a(){ return 10; document.write(50);//不执行 }; a();//10 //return; //结束函数执行,返回调用函数,无函数结果. function a(){ var aa=0; return ;//返回值为undefined var bb=0; //不会被执行的 } 复制代码
//return false; //调用"return false"的时候,它实际上做了3件事情: //1.event.preventDefault();阻止浏览器执行默认行为 //2.event.stopPropagation();事件冒泡 //3.停止回调函数执行并立即返回. ps:只有当你同时需要preventDefault和stopPropagation,并且你的代码可以接受直到你的回调执行 完成才停止执行浏览器的默认行为,那你就可以使用"return false"。 function a(){ var aa=0; return false;//返回值为false var bb=0; //不会被执行的 } 复制代码
//retrun true; function a(){ var aa=0; return true;//返回值为true var bb=0; //不会被执行的 } 复制代码
ps1:自己的使用心得,不对请指正 //break和continue可以跳出指定循环,break和continue之后不加任何循环名则默认跳出其所在的循环, //在其后加指定循环名,则可以跳出该指定循环(指定循环一般为循环嵌套的外循环)。 outer:for(var i=0;i<10;i++){ inter: for(var j=0;j<10;j++){ if(i>5){ console.log(i); ----6 break outer; } } }复制代码
ps2:自己的使用心得,不对请指正 jquery 的 each 方法中不能使用break结束循环,也不能使用continue来结束本次循环,想要实现类似的功 能就只能用return。return true 相当于是 continue,而 return false 相当于是 break。其实return ;在each也相当于continue,each只有return false;才能结束循环。 jquery 的 each 方法虽然return 了,但是并未实际 return 值作为方法的返回值,而是仅仅跳出each或 者进入下一次循环. $(".test-div").each(function () { var id = $(this).attr("id").toString(); if(id=='2'){ return true; } if(id == '10'){ return false; } }); 复制代码