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();