• javascript语句


    首先最基础的块语句block语句),组合0-多个语句,块语句用一对花括号定义。(注意:没有块级作用域)。

    var语句,声明语句,var a =b =1;这样创建,a是局部变量,b是全局变量,var a=1,b=1;这样声明都是局部变量。

    其次就是try-catch语句,有三种,1,try和catch。2,try和finally3,try和catch与finally都有。

    try-catch提供异常捕获机制,执行的流程是,先执行try块中的代码,如果抛出异常,由catch重句捕获并执行,如果没有异常,catch中的代码会忽略掉,不管有没有最后都会执行finally从句,try后面必须接着一个tcatch或者finally,所以有了三种情况。

    例子:try{

                  //do sth

               }finall{

                 console.log("finally);

              }

    (不管有没有异常都会执行finally的内容)

    当try-catch嵌套时:

    1,

    try{
        try{
            throw new Error("oops");
        }
        finally{
            console.log("finally");
        }
    }
    catch(ex){
        console.error("outer",ex.message);
    }

    里面的没有catch,它会跳到最近的catch处理,在跳出之前会执行finally,所以执行顺序为:“finally”,"outer""oops"。
    例子二

    try{
        try{
            throw new Error("oops");
        }
        catch(ex){
            console.error("outer",ex.message);
        }
        finally{
            console.log("finally");
        }
    }
    catch(ex){
        console.error("outer",ex.message);
    }

    还是内外两层嵌套,这个在内层,加上了catch语句,那么抛出opps异常,抛出后首先执行内部的catch块,"inner""opps","finally",

    例子三

    try{
        try{
            throw new Error("oops");
        }
        catch(ex){
            console.error("inner",ex.message);
            throw ex;
        }
        finally{
            console.log("finally");
        }
    }
    catch(ex){
        console.error("outer",ex.message);
    }

    和例子二相比,内部的catch(ex)里面还可以抛异常,但还是会先抛"opps",然后在由内部的inner来处理,最后执行finally,但是要注意的是,这个catch里面又抛出异常,在finally执行之后又会执行outer oops,
    即顺序如:"inner" "opps"

                      "finally"

                      "outer"  "opps"

    如果内部的异常没有处理抛给外面了,在外面处理之前,要先执行finally语句。

    函数语句 :函数声明和函数表达式

    使用function关键字来声明,后跟一组参数以及函数体。

    函数声明和函数表达式,很多区别,最主要的区别函数声明会预先处理,也叫做函数前置。所以在函数前面是可以调用的。函数表达式就不可以。

    相关小结:对于参数的理解,无需指定函数的返回值,因为ECMAscript在任何时候返回任何值。

                     实际上,未指定返回值的函数返回的是特殊的underfined。

                     ECMAscript没有签名的概念,因为某函数参数是以一个包含零或多个值得数组的形式传递的,ECMAscript函数不能重载。

                    

  • 相关阅读:
    google git的使用方法
    C/C++ 开发库 | C/C++ Development Library
    log4cplus c++开源日志系统
    c++配置类
    Markdown基础语法
    Nhibernate 映射关系,一对多 多对一与多对手在映射文件中的体现。
    Nhibernate refers to an unmapped class nhibernate问题的解决(初学者)
    UICollectionView的使用
    Runloop
    UITableView(转)
  • 原文地址:https://www.cnblogs.com/cqy1125/p/9827753.html
Copyright © 2020-2023  润新知