语句:if语句、do-while语句、while语句、for语句、for-in语句、with语句、label语句、switch语句以及break和continue语句;

ECMA-262规定了一组语句(也成为流控制语句),语句定义了ECMASript中的主要语法。

语句分类:条件分支语句、条件判断语句和循环语句

代码块:是一对包裹多行代码的花括号,代码块后不可加引号;代码块内的内容对外可见的,仅有分组的作用。

  if语句:

    语法1:if(condition)statement

    语法2: if(condition){statement1} else {staement2}   

    语法3:if(condition){statement1} else  if{staement2} else if{staement}

  

    var i = 11;
    if(i < 10){
        alert("兔子");
    }else if (i <20){
        alert("狐狸");
    } else if (i <30){
        alert("老虎");
    }
//窗口弹出狐狸

  以上代码,自上而下当条件表达式没有被满足时,继续往下执行,满足时则输出,停止执行。

       其判断过程:判断条件表达式值是true或是false,但表达式的求值结果可能不是布尔值,则使用Boolean()进行求值。

 do-while语句

 语法:do{ statement}while(expression);

 var i = 11;
do {
i += 2:
}while ( i <10 );
alert(i);

 以上代码,因do-while语句是一种后测试循环语句(先执行后测试),执行完后进行条件表达式测试,不符合条件则不输出,所以其循环体中的代码至少被执行一次。

  while语句

  语句:while(expression){satement}

    var i = 0;
    while(i<10){
        i += 2;
    }
    alert(i);//输出10

 以上代码,while语句是一种前测试循环语句(先测试后执行),先测试后进行执行。这一点和do-while语句相区别。对条件表达式进行判断,true则继续执行,false则停止执行输出语句;条件表达式一直是true则陷入死循环 需要用break结束语句(break 在下文提及)

 for语句

 for(initialization ; expression ; poat-loop-express) {satement}      第三个参数是循环后表达式

  for (var i =1 ; i<10 ;i++) {
      alert(i);
  }  //输出1  

 以上代码,在for语句中条件表达式值为true才会进入循环体,如果是false则不会进入循环体。只有进入了循环体才会对其循环后的条件表达式(i++)求值

 注意:for循环和while循环相似,for循环只是与循环有关的代码集中到一个位置

            初始值 var i = 0 ;可以在for循环外进行声明,因此该变量成为了全局变量,在外部也可访问到

            在for循环中将三个条件表达式全部省略就成了一个死循环   ( var i = 0 ;i <10 ;i++)  变成 ( ; ; )

           

 break和continue语句

两者都是在循环中控制代码的执行,两者的区别在于:break会立即推出循环,强制向下执行循环外的语句;continue也会立刻退出循环,但是退出循环后会从循环的顶部继续执行

var num = 1;
for (var i = 1; i<6 ;i++) {
    if (i % 3 === 0) {
        continue;
    }
    num++;
}
alert(num); //输出5

  结果输出为5 说明代码num++执行了5次

       当i=3和i=6时 num不递增  当i=3时,继续从循环体上面执行。

var num = 1;
for (var i = 1; i<6 ;i++) {
    if (i % 3 === 0) {
        break;
    }
    num++;
}
alert(num); //输出3

  当i=3时退出循环,但是num继续递增

switch语句

switch(expression){

    case:statement

    break;

   case:statement

    break;

   case:satement

   break;

  default:satement

}


var i = 2;
switch (i) {
case 1:
alert("1");
break;
case 2:
alert("2");
break;
default:
alert("other");
}
 

以上代码 case的含义:如果表达式等于这个值,则执行这个语句 

注意swich语句在比较值时使用的是全等操作符,因此不会发生类型转化。

还有for-in,with,label语句。

原文地址:https://www.cnblogs.com/chenpiaoxiaowu/p/11210114.html