• 语句的种类

  • 语句表明执行过程中的流程、限定与约定,形式上可以是单行语句,或者由一对大括号“{}”括起来的复合语句,在语法描述中,复合语句整体可以作为一个单行语句处理。

    类型
    子类型
    语法
    声明语句
    变量声明
    var foo= 100;
    标签声明
    label : foo;
    表达式语句
    变量赋值
    foo = 100;
    函数调用
    foo();
    属性赋值
    obj.property = 100;
    方法调用
    obj.method();
    分支语句
    条件分支
    if () {} else {}
    多重分支
    switch () { case n : ...};
    循环语句
    for
    for (;;;) {}
    for ... in
    for ( x in x) {}
    while
    while () {};
    do ... while
    do {} while ();
    控制结构
    继续执行
    continue ;
    终断执行
    break ;
    函数返回
    return ;
    异常触发
    throw ;
    异常捕获与处理
    try {} catch () {} finally {}
    其他
    空语句
    ;
    with语句
    with () {}
  •        if (条件表达式) {语句;} else if (条件表达式) {语句;} ... else {语句;} 

  •       do...while语句是一种先运行,后判断的循环语句。也就是说,不管条件是否满足,至少先运行一次循环体。

  • while语句是一种先判断,后运行的循环语句。也就是说,必须满足条件了之后,方可运行循环体。

  • for语句也是一种先判断,后运行的循环语句。但它具有在执行循环之前初始变量和定义循环后要执行代码的能力。

  • for...in语句是一种精准的迭代语句,可以用来枚举对象的属性。

for (var k in foo) {                                          //列举出对象的所有属性
       alert(k);
}
  • breakcontinue语句用于在循环中精确地控制代码的执行。其中,break语句会立即退出循环,强制继续执行循环体后面的语句。而continue语句退出当前循环,继续后面的循环。

  • with语句的作用是将代码的作用域设置到一个特定的对象中。

  • with (foo) {                                                    //省略了foo对象名
           var n = name;
           var a = age;
           var h = height;
    }