基础9 流程控制语句

一.语句的定义
在ECMAScript 中,所有的代码都是由语句来构成的。语句表明执行过程中的流程、限定与约定,形式上可以是单行语句,或者由一对大括号“{}”括起来的复合语句,在语法描述中,复合语句整体可以作为一个单行语句处理。
基础9 流程控制语句-搬砖酱的笔记

if (条件)

   {

       条件成立时执行代码

    }

注意:请使用小写字母。使用大写的 IF 会出错!

<script type="text/javascript">

var d=new Date()

var time=d.getHours()

  if (time==11)

    {

        alert("<b>Lunch-time!</b>");

     }

</script>

注意:请使用双等号 (==) 来比较变量!

注意:在语法中没有 else。仅仅当条件为 true 时,代码才会执行。

if (条件)

  {

      条件成立时执行此代码

 }else{

       条件不成立时执行此代码

  }

<script type="text/javascript">

var d = new Date()

var time = d.getHours()

 

if (time < 10)

   {

         alert("Good morning!")

    }else{

         alert("Good day!")

    }

</script>

if (条件1)

  {

        条件1成立时执行代码

   }else if (条件2){

        条件2成立时执行代码

   }else{

        条件1和条件2均不成立时执行代码

   }

<script type="text/javascript">

var d = new Date()

var time = d.getHours()

if (time<10)

   {

          alert("<b>Good morning</b>")

    }else if (time>10 && time<16){

          alert("<b>Good day</b>")

    }else{

          alert("<b>Hello World!</b>")

   }

</script>

switch 语句是多重条件判断,用于多个值相等的比较。

switch(n)

   {

   case 1:

     执行代码块 1

     break

   case 2:

     执行代码块 2

     break

   default:

     如果n即不是1也不是2,则执行此代码

   }

<script type="text/javascript">

var d=new Date()

theDay=d.getDay()

switch (theDay){

   case 5:

     alert("Finally Friday")

     break

   case 6:

     alert("Super Saturday")

     break

   case 0:

     document.write("Sleepy Sunday")

     break

   default:

     alert("I'm looking forward to this weekend!")

}

</script>

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

<script type="text/javascript">

   var box = 1; //如果是1,执行五次,如果是10,执行1 次

do {

   alert(box);

   box++;

} while (box <= 5);

</script>

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

<script type="text/javascript">

var box = 1; //如果是1,执行五次,如果是10,不执行

while (box <= 5) { //先判断,再执行

  alert(box);

  box++;

}

</script>

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

for (变量=开始值;变量<=结束值;变量=变量+步进值) {

    需执行的代码

}

<script type="text/javascript">

for (var box = 1; box <= 5 ; box++) {        //第一步,声明变量var box = 1;

      alert(box);                       //第二步,判断box <=5

}                                     //第三步,alert(box)

                                      //第四步,box++

                                      //第五步,从第二步再来,直到判断为false

</script>

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

<script type="text/javascript">

var  demo = {          //创建一个对象

    'name' : '潘彪', //键值对,左边是属性名,右边是值

'age' : 28,

    'height' : 178

 };

for (var p in demo) {   //列举出对象的所有属性

    alert(p);

}

</script>

break 和continue用于在循环中精确地控制代码的执行。其中,break 语句会立即退出循环,强制继续执行循环体后面的语句。而continue 语句退出当前循环,继续后面的循环。

for (var box = 1; box <= 10; box++) {

if (box == 5) break;   //如果box 是5,就退出循环

   document.write(box);

  document.write('<br />');

}

for (var box = 1; box <= 10; box++) {

if (box == 5) continue;        //如果box 是5,就退出当前循环

document.write(box);

document.write('<br />');

}

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

var box = {     //创建一个对象

'name' : '李炎恢', //键值对

'age' : 28,

'height' : 178

};

var n = box.name; //从对象里取值赋给变量

var a = box.age;

var h = box.height;

可以将上面的两段赋值操作改写成:

with (box) {   //省略了box 对象名

var n = name;

var a = age;

var h = height;

}