JavaScript的continue、break和return的区别

1. continue、break和return的区别

循环遍历。

for(let i = 0; i < 5; i++){
	console.log(i); // 0 1 2 3 4
}

使用continuebreakreturn

for(let i = 0; i < 5; i++){
	if(i==3){
		continue;
	}
	console.log(i); // 0 1 2 4
}
for(let i = 0; i < 5; i++){
	if(i==3){
		break;
	}
	console.log(i); // 0 1 2
}
for(let i = 0; i < 5; i++){
	if(i==3){
		return;
	}
	console.log(i); // 0 1 2
}

我们可以看到continue跳出当前循环(即进入下次循环),而break跳出整个循环(即不再执行之后的循环)。
这里return也是跳出循环,但其实returnbreak是有区别的。我们再看几个例子。

(function foo(){
	for(let i = 0; i < 5; i++){
		if(i==3){
			continue;
		}
		console.log(i); // 0 1 2 4 hello
	}
	console.log('hello');
})();
(function foo(){
	for(let i = 0; i < 5; i++){
		if(i==3){
			break;
		}
		console.log(i); // 0 1 2 hello
	}
	console.log('hello');
})();
(function foo(){
	for(let i = 0; i < 5; i++){
		if(i==3){
			return;
		}
		console.log(i); // 0 1 2
	}
	console.log('hello');
})();

提示:(function foo(){ //... })()是立即执行函数。

我们看到使用return时,没有打印hello。因此,return除了跳出循环的作用外,还有跳出当前函数的作用。

posted @ 2019-08-26 16:01  gzhjj  阅读(223)  评论(0编辑  收藏  举报