• JS基础循环语句和跳转语句


    循环语句

    JS有四种循环语句,while, do/while, for, for/in,循环的原理很简单,当条件得到满足时,循环语句中的代码重复执行,当条件不满足时结束循环。

    while语句

    while语句是前测试语句,在执行循环之前先对出口条件进行求值

    while(expression) {
      statement
    }
    
    var count = 0;
    while(count < 3) { // 对出条件求值
      console.log(count);
      count++;
    }
    // 0 1 2
    

    do while语句

    do while语句是后测试语句,它会先执行一次循环再对出口条件求值,所以至少会执行一次循环

    do {
      statement
    } while(expression);
    
    var count = 0;
    do {
      console.log(count) // 先执行一次循环
      count++;
    }while(count < 3); // 再对出口条件求值
    // 0 1 2
    

    for语句

    for循环语句比while语句的控制结构更加清晰,while循环能做到的for循环都能做到。

    for(initialize; test; increment) {
      statement;
    }
    

    initialize、test、increment分别负责变量的初始化、循环条件判断、计数器。

    initialize初始化表达式只在循环开始的时候执行一次,循环执行前先执行test判断语句,满足条件就执行循环体中的statement,循环一次结束后执行increment,以此类推直到不满足循环条件退出循环。

    
    var count = 3;
    for(var i = 0; i < count; i++) {
      console.log(i)
    }
    // 0 1 2
    

    initialize、test、increment这三个表达式中的任何一个都可忽略,但是两个分号不能省略。如果缺少test判断条件就会成为死循环。

     // 死循环
    for(;;)
    

    for in语句

    for in循环主要用于遍历对象

    for(variable in object) {
      statement
    }
    
    var o = {name: 'wmui', age: 10}
    for(var key in o) {
      console.log(key, o[key])
    }
    // name wmui
    // age 10
    

    跳转语句

    跳转语句让解释器跳转到程序的其他部分继续执行,包括break、continue、return语句

    break语句

    break语句只能出现在循环语句或switch语句中,在其他语句中使用会报错,break用于退出循环或switch语句。

    var arr = ['a', 'b', 'c'];
    for(var i = 0; i < arr.length; i++) {
      if(arr[i] == 'b') {
       break;
      } 
      console.log(arr[i])
    }
    // 'a'
    

    结合label语句使用

    var arr = ['a', 'b', 'c'];
    oneFor:
    for(var i = 0; i < arr.length; i++) { 
      if(arr[i] == 'b') {
       break oneFor;
      } 
      console.log(arr[i])
    }
    // 'a'
    

    continue语句

    continue语句和break语句类似,不同的是continue是退出本次循环,break是跳出整个循环语句。

    var arr = ['a', 'b', 'c'];
    for(var i = 0; i < arr.length; i++) {
     if(arr[i] == 'b') {
       continue;
     } 
     console.log(arr[i])
    }
    // 'a' 'c'
    

    结合label语句使用

    var arr = ['a', 'b', 'c'];
    oneFor:
    for(var i = 0; i < arr.length; i++) { 
     if(arr[i] == 'b') {
       continue oneFor;
     } 
     console.log(arr[i])
    }
    // 'a' 'c'
    

    在while循环中使用

    // 死循环
    var count = 0;
    while(count < 3) {
      // 当count等于2时,进入下一轮循环条件判断,2 < 3,就这样一直循环
      if(count == 2) {
        continue
      }
      console.log(count)
      count++
    }
    // 0 1
    
    var count = 0;
    while(count < 3) {
      count++;
      if(count == 2) {
      	continue
      }
      console.log(count)
    }
    // 1 3
    

    continue语句只能用在循环语句中,在不同的循环类型中表现效果也有所不同:while循环中直接进入下一轮的循环条件判断,for循环首先计算其increment表达式,然后判断循环条件

    return语句

    return语句只能出现在函数体内,表示函数调用后的返回值,如果没有return则默认返回undefined,函数执行过程中遇到return语句就终止执行,并返回expression值。

    return expression;
    
    function fn(a) {
      if(a === 2) {
       return 3
      }
    }
    
    fn(2); // 3
    
    优秀文章首发于聚享小站,欢迎关注!
  • 相关阅读:
    java安装jdk时,执行javac出错
    servlet入门
    maven安装出错原因分析
    备份整个schema的数据
    备份db2schema数据
    UltraEdit使用技巧
    获取数据库分组后的最大值
    什么是jsp
    linux 上使用FTP传输文件
    关于opencv进行rtsp取流播放视频特别慢的问题记录
  • 原文地址:https://www.cnblogs.com/yesyes/p/15351363.html
Copyright © 2020-2023  润新知