JS中break,continue和return的用法及区别

259 阅读2分钟

相同之处: 三个都会将此时进行的语句停止。

不同之处:

1、break:是立即结束语句,并跳出语句,进行下个语句执行。

2、continue:是停止当前语句,并从头执行该语句。

3、return:停止函数。

4、使用的语句环境不一样,break和continue是用在循环或switch条件语句中,return是用在函数语句中。

 

break和continue

break,continue是化为一类的,这两个应用的范围是退出循环或者switch语句,在其他地方使用会导致错误;

1、break:由于它是用来退出循环或者switch语句,所以只有当它出现在这些语句时,这种形式的break语句才是合法的。

for(var i=1;i<=10;i++){
	if(i==6){
		break;
	}
	console.log(i); //输出结果:12345
}

当i=6的时候,直接退出for这个循环。这个循环将不再被执行!直接进入下一个语句**。**

2、continue:和break语句相似。所不同的是,它不是退出一个循环,而是开始循环的一次新迭代。

continue语句只能用在while语句、do/while语句、for语句、或者for/in语句的循环体内,在其它地方使用都会引起错误!

 

for(var i=1;i<=10;i++){
	if(i==6){
		continue;
	}
	console.log(i); //输出结果:1234578910
}

当i=6的时候,直接跳出本次for循环。下次继续执行。

return语句 : return语句就是用于指定函数返回的值。

return语句应用范围只能出现在函数体内,出现在代码中的其他任何地方都会造成语法错误!

  1、返回控制与函数结果

语法为:return 表达式;

语句结束函数执行,返回调用函数,而且把表达式的值作为函数的结果。

function foo(num){
	if(num>=9){
		return '>9';
	}else{
		return '<9';
	}
}
for(var i=0;i<=10;i++){
	console.log(i,foo(i));
}

输出:

0 <9 
1 <9 
2 <9 
3 <9 
4 <9 
5 <9 
6 <9 
7 <9 
8 <9 
9 >=9 
10 >=9 

 2、返回控制

无函数结果,语法为:return;

在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为。

return false 就相当于终止符,return true 就相当于执行符。 返回的false和true通常用在需要进行布尔类型判断时。

 

比如你单击一个链接,除了触发你的onclick事件(如果你指定的话)以外还要触发一个默认事件就是执行页面的跳转。所以如果   

你想取消对象的默认动作就可以return false。

我们也常用return false来阻止提交表单或者继续执行下面的代码。

function a(){
	if(true){
		return false;
	}
}
function Test(){
	a();
	b();
	c();
}

即使a函数返回return false 阻止提交了,但是不影响 b()以及 c()函数的执行。在Test()函数里调用a()函数,里面return false 对于Test()函数来说,只是相当于返回值。而不能阻止Test()函数执行。

return false 只在当前函数有效,不会影响其他外部函数的执行。

 

总结

return true;返回正常的处理结果;终止处理。

return false;返回错误的处理结果;终止处理;阻止提交表单;阻止执行默认的行为。

return;把控制权返回给页面。