有关return、return false、break、continue 用法详解

754 阅读3分钟

return false、break、continue 这三种语句是我们写代码中经常遇到的语句,有时不清楚它们的用途场景很容易弄混乱,今天我收集这些语句的详细用法。

return

函数中的return 语句既是指函数调用的的返回值,这里是return语句的语法:

return expression

return 语句只能在函数体内出现,如果不是的话将会报语法错误。当执行到return 语句的时候,函数将终止执行,并返回expression 的指给调用程序。如果没有return 语句,则函数调用仅一次执行函数体内的每一条语句直到函数结束,最后返回调用程序,这种情况,调用表达式的结果是undefined. return 语句可以单独使用而不必带有epression,这样的话函数也会调用程序返回undefined.

function test () {
	console.log('hello')
	return 'lanfeng'
	console.log('front')
}
test();

执行结果

在这里插入图片描述
说明 return 语句执行后的代码没有再执行

return false

return false 语句可以用来阻止默认事件行为、阻止向上冒泡、阻止代码继续执行等。

function test () {
	var arrnew = []
	var arr = [1,2,3,4,5]

	for(var i = 0; i < arr.length; i++) {
		console.log(arrnew)
		if(arr[i] > 3) { // 当arr[i]大于3的时候,跳出test函数
			return false;
		}
		arrnew.push(arr[i])
	}
	console.log(arrnew) //代码不执行
}
test();

运行效果如下:

在这里插入图片描述

break

单独使用break语句的作用是立即退出最内层的循环或switch语句,语法如下:

break;

break一般只出现在循环或者switch语句中,在循环中,不论出于什么原因,只要不想继续执行整个循环,就可以用break退出

function test () {
	var arrnew = []
	var arr = [1,2,3,4,5]
	for(var i = 0; i < arr.length; i++) {
		
		if(arr[i] > 3) { // 当arr[i]大于3的时候,跳出循环
			break	
		}
		arrnew.push(arr[i])
	}
	console.log(arrnew)
}
test();

运行效果如下:

在这里插入图片描述
break 语句同样可用于可选的标签引用,用于跳出代码块。

continue

continue 语句和break 语句非常相似,但它不是退出循环,而是执行下一次循环,continue语句的语法和break语句语法一样简单:

continue;

continue 语句同样可以带有标签:

continue  labelname;

不管continue语句带不带标签,它只能在循环体内使用。 当执行continue语句时,当前执行的循环逻辑就终止了,随即执行下一次循环,在不同的类型的循环中,continue的行为也有所区别:

  • 在while循环中,在循环开始处指定的expression会重复检测,如果检测结果为true,循环会从头开始执行。
  • 在do/while循环中,程序的执行直接跳到循环结尾处,这时候会重新判断循环条件,之后才会执行下一次循环
  • 在for循环中,首先计算自增表达式,然后再次检测表达式,用以判断是否执行循环体
  • 在for/in 循环中,循环开始遍历下一个属性名,这个属性名赋给了指定的变量 需要注意: continue语句在while和for循环中的区别, while循环直接进入下一轮的循环条件判断,但for循环首先计算其increment表达式,然后判断循环条件。

下面一个例子:

function test () {
	var arrnew = []
	var arr = [1,2,3,4,5]

	for(var i = 0; i < arr.length; i++) {
		if(arr[i] === 3) { //如果arr[i]等于3,终止这次逻辑,继续下一个循环逻辑
			continue;
		}
		arrnew.push(arr[i])
	}
	console.log(arrnew)
}
test();

运行效果如下:

在这里插入图片描述