• JavaScript常用语句


    JavaScript常用语句

    语句 语法 说明
    简单语句 语句以;分号结束
    语句块 {} 将一组语句组成语句块,ES中没有语句块作用域,也可用作对象字面量
    添加标签语句 label 给代码添加标签供其它语句使用。  (例如break和continue,中断指定标签语句)
    分支结构语句 if 条件选择,在条件表达式中,会将结果隐式转换为Boolean类型。
    switch 多分支判断语句
    循环结构语句 while  /  do-while 满足条件才执行循环体   /   先执行循环体,再进行条件判断
    for for语句和while功能相同,都为循环,只是将初始化,条件判断,递增递减结合一起。
    for-in for循环另一形式,遍历对象的属性和对象原型链上的属性。
    跳转结构语句 return 返回语句,在return之后没有返回时,返回undefined。
    break 在switch语句中,不继续执行下面的case语句。
    continue 在循环语句中中断本次循环,执行下一次循环。
    异常处理语句 try 将代码放在try块中,使得异常发生时能够做出相应的处理。
    throw 抛出异常语句。
    调试语句 debugger 调试语句
    作用域设置语句 with 将代码的作用域设置到一个特定的对象中。 (不推荐使用,不好控制结果)

     

    部分细节说明:

    label 语句

    label:statement;    //给代码添加标签供跳转语句使用。
    break label;          //用在循环语句中中断整个循环。
    
    continue label;     //在循环语句中中断本次循环,执行下一次循环。

     

     

    switch 语句

    //switch结构
    switch(expression)    //表达式不限于整型,可以是任意表达式
    
    {
    
    case value1:         //value可以是整型也可以是其它类型或一个表达式,但比较时不会进行类型转换,而且使用全等(===)进行匹配。
    
      statement1;
    
      break;            //在找到匹配的case分支后,不继续执行下面的case语句。
    
    case value2:
    
      statement2;
    
      break;
    default:              //如果都未匹配,则执行default下的语句。
    
      statement;
    
    
    }
     

    while / do-while

    while(expression)     //条件判断会有隐式转换
    
    {
    
      statement;      //满足条件才执行循环体。如果一开始就不满足条件,则根本不会执行循环体。
    
    }
    
    
    do{
    
      statement;       //先执行循环体,再进行条件判断,这种格式至少会执行一次循环。
    
    }while(expression);   //条件判断会有隐式转换

     

    for循环 性能优化,避免每次循环都要计算范围值

    // 1.基本格式的for循环,i大部分直接复制给指定数组的长度
    for(var i=0; i < arr.length; i++){
    }
    
    // 2.上面在每一次循环都会重新计算一次arr的长度,如过arr是dom操作的话,会非常明显的影响效率,不推荐使用
    var l = arr.length;
    for(var i=0,l=arr.length; i<l; i++){
    }
    
    // 3. 如果循环为递减,可以直接设为i
    for(var i=arr.length; i>0; i--){
    }

     

    return语句注意点

    return         //由于引擎会在return后自动添加分号,这里实际会返回undefined,不能使用该写法
    {
        prop:'value';
    }
    
    
    return {       //这样写才和预期一样,会返回一个对象
        prop:'value';
    }

     

    try-catch 语句

     
    try{      //try后面必须接catch或finally
    
    //执行的代码,其中可能有异常。一旦发现异常,则立即跳到catch执行。否则不会执行catch里面的内容
    
    }catch(e){
    
    //除非try里面执行代码发生了异常,否则这里的代码不会执行
    
    }finally{
    
    //finally可以没有,也可以只有一个。无论有没有发生异常,它总会在这个异常处理结构的最后运行。
    //即使你在try块内用return返回了,在返回前,finally总是要执行,这以便让你有机会能够在异常处理最后做一些清理工作。如关闭数据库连接等等。
    //注意:如果没有catch语句块,那么finally块就是必须的。
    
    }

    throw 主动抛出异常

    try{      
     
    throw "test";       //主动抛出异常
    
    }catch(e){
    
    console.log(e);   //test
    
    }finally{
    
    console.log('finally');   //finally
    
    }
    如果内部的异常没有处理抛给了外面,在外面处理之前要处理里面的finally顺序
    try{      
    
        try{      
    
        throw newError "oops";
    
        }finally{
    
        console.log('finally');   //finally         如果内部的异常没有处理抛给了外面,在外面处理之前要处理里面的finally顺序
    
        }
    
    }catch(e){
    
    console.log("outer", ex.message);   // outer  oops
    
    }finally{
    
    console.log('finally');   //finally
    
    }

    只要内部的异常没有处理抛给了外面,在外面处理之前要处理里面的finally顺序

    try{      
    
        try{      
    
        throw newError "oops";
    
        }catch(e){
    
        console.log("inner", ex.message);   // inner  oops
       throw e;
        }finally{
     
        console.log('finally');            //finally         只要内部的异常没有处理抛给了外面,在外面处理之前要处理里面的finally顺序
    
        }
    
    }catch(e){
    
    console.log("outer", ex.message);      // outer  oops
    
    }finally{
    
    console.log('finally');                //finally
    
    }

     

     

     

     

  • 相关阅读:
    栈:删除最外层的括号 (Leetcode 1021 / 155 / 1172 / 剑指31 / 面试 03.03)
    JDBC: Druid连接池
    JDBC: C3P0
    JDBC: C3P0
    JDBC: C3P0连接池
    JDBC: DBCP连接池
    JDBC: 数据库连接池
    JDBC: JDBC 控制事务
    JDBC: 预处理对象
    wpf 键盘快捷键响应
  • 原文地址:https://www.cnblogs.com/Peng2014/p/4707918.html
Copyright © 2020-2023  润新知