- break: 退出循环(for/do while)或者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: 跳出方法(函数)/ 还可用于返回值,在其他地方使用都会造成语法错误!
1. return表达式
//结束函数执行,返回调用函数,而且把表达式的值作为函数的结果
function a() {
return 10;
document.write(50);//此句不执行
};
a();//10
2. return;
//结束函数执行,返回调用函数,无函数结果
function a() {
var aa = 0;
return;//返回值为underfined
var bb = 0;//不会被执行
};
a();//underfined
3. return false;
//调用"return false"的时候,它实际上做了三件事情:
//1. event.preventDefault();阻止浏览器执行默认行为
//2. event.stopPropagetion();事件冒泡
//3. 停止回调函数执行并立即返回
ps://只有当你同时需要preventDefault和stopPropagetion,并且你的代码可以接受直到你的回调执行完成才停止执行浏览器的默认行为,那你就可以使用
function a() {
var aa = 0;
return false;//返回值为false;
var bb = 0;//不会被执行
}
4. return true;
function a() {
var aa = 0;
return true;//返回值true
var bb = 0;//不会被执行
}
ps1: //使用心得
//break和continue可以跳出指定循环
//break和continue之后不加任何循环名则默认跳出其所在的循环
//在其后加指定循环名,则可跳出该指定循环(指定循环一般为循环嵌套的外循环)
eg:
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 false;//跳出循环(相当于break)
return true;//跳出当前次循环进入下一次循环(相当于continue)
//其实return;在each中也相当于continue
//Jquery的each方法虽然return了,但是并未实际return值作为方法的返回值,而是仅仅跳出each或进入下一次循环
eg:
$('.test-div').each(function() {
var id = $(this).attr('id').toString();
if(id == '2') {
return true;
}
if(id == '10') {
return false;
}
});
网友评论