for(var i=1i<=5i++){
if(i>2){
break( 跳出循环 循环结束 下面的语句不执行了) }
document.write(i)}
在while循环中 使用break
打印出我是软件大道的程序员 5次 但是 第4次的时候就不打印了
let i=1
while(i<=5){
if(i==4){ break }
document.write('<br>我是软件大道的程序员'+i)
i++}
break语句用于终止某个循环,使程序跳到循环块外的下一条语句,
在循环中位于break后的语句将不再执行,
break 语句不仅可以用在for循环中,也可以用在其他循环中 ,
2、 continue;
for(var i=1i<=5i++){
if(i==3){continue结束本次循环,进入下次循环
continue( 跳过 不会终止循环,但是会跳过本次循环) }
if(i==3) continue
document.write(i)}
for(var i=1i<=5i++){
let chenji = parseInt(prompt('第'+i+'位同学请输入成绩'))
初级调试 使用console.log或者alert
console.log(chenji)
alert(chenji)
if(chenji<0){
document.write('<br>第'+i+'位同学成绩有误')
continue
document.write('<br>终止程序')
break }
else{document.write('<br>第'+i+'位同学请输入成绩:'+chenji)}
}
3、双重循环
在leetcode上刷题的时候踩的坑,题目是这样的
简单思考了一下,用最简单的双循环就可以解决问题,于是习惯性用forEach遍历了两次
结果发现函数返回值是undefined
百度了一下,发现是因为forEach多次执行回调函数,回调函数中使用return没法直接终止forEach,只能终止单次的回调。所以return语句在forEach内部是无法跳出循环的。
解决方案:
1.方案一:js针对数组操作的另外两个方法some()与every()
2.方案二:for/while语句老实循环
总结原因还是对forEach方法理解不够到位
定义:return 语句会终止函数的执行并返回函数的值。
根据return的定义,可以明确,return只会出现在函数中,否则将会报语法错误。
函数中如果存在循环语句,在循环语句中可以使用return,此时会跳出循环返回结果而不执行后面的循环操作。需要注意的是,return跳出循环的机制与break不同,break只会跳出单层循环,而return不管几层循环都会直接跳出所有循环,终止执行循环。
return 后面可以是基础数据类型,也可以是引用类型或函数,返回函数的用法可以用来实现闭包。
return 后不跟任何数据,返回的是undefined。