js的break,continue,return及流控制语句

横向对比js的流控制语句,从此不再迷茫。

哈哈,给此博文插图:当前端发现全公司只有一个人手机显示的界面有问题的时候…

在这里插入图片描述

  • break: 终止循环,使当前循环不再继续执行。用于跳出循环或switch语句。当是嵌套循环的时候,只能跳出一层循环。
  • continue: 跳过当前循环,继续往下判断循环执行语句,相当于开始循环的一次新迭代。只能结束循环中的一次过程,无法阻止循环继续进行。
  • return: 用于指定函数的返回值,只能出现在函数体中,并且终止return后语句的执行。经常用来搭配if语句等来使用。只对当前函数体有效。return 可以返回任何类型的值,也可不返回任何值(此时函数的返回值为undefined)。
//情况1
for(var i=1;i<=5;i++) { 
    if(i==3) { 
        break; 
    } 
   console.log(i); 
} 
//情况2
for(var i=1;i<=5;i++) { 
    if(i==3) { 
        break; 
    } 
} 
console.log(i); 

function sum(){
   if(true){
      return false;
   }
}

function num() {
   //...
}
   
function test(){
   sum();
   num();
}
test();

//return判断登录条件
function Login_Click(name, pwd) {
   if (name == "") {
      alert('用户名为空');
      return; //return false
   }
   if (pwd == "") {
      alert('密码为空');
      return;
   }
   alert('登陆成功');
}
  • do while语句:后测试循环语句,代码至少会执行一次。
  • while语句:前测试循环语句,先执行测试条件,再对表达式进行判断是否执行。循环体内代码可能永远不执行
  • for语句:也算是一种前测试循环语句。但是能在执行循环前初始化变量。for语句和while语句功能相同。for循环的初始表达式,控制表达式和循环后表达式都可省略,创建一个无线循环
  • for-in语句:用来枚举对象的属性。
  • switch语句:流控制语句。
var i= 0 ;
do(i += 2) while(i < 0 );
alert(i) //2

var i = 0;
while(i < 0 ) i += 2;
alert(i) // 0

var count = 2; 
for (var i = 0; i < count; i++){ 
    console.log(i); //0, 1
} 
console.log(i) // 2 不存在块级作用域

//for循环内如果只写控制表达式,就相当于while了
var count = 2, i = 0;
for(;i<count;) {
    console.log(i)
    i++
}

//for语句转化为while语句
var count = 2, i = 0;
while(i < count) {
    console.log(i)
	i++;
}

//for in循环也可以省略var
for (property in expression) statement
 

continue在for循环和while循环中不同表现

var c = 0;
while(c < 5) {
  c++;
  if(c == 3) continue;
  console.log(c)
} // 1, 2, 4, 5

var c = 5
while (a < 5) {
  if (a == 3) continue
  a++
  console.log(a)
}
//a = 3 以后,不再执行下面的代码,所以a一直为3,一直满足条件,就形成了死循环

上面demo看一遍就懂,算是一个小总结吧。

深入理解return,你可以点击这里。

猜你喜欢

转载自blog.csdn.net/lihchweb/article/details/103728800
今日推荐