在开发的过程中,语句的使用很频繁也很关键。但是在很多情况下,if、if-else会成为首选,但别的语句却用的比较少。今天就来说一说这些语句的用法和区别,希望在以后的开发中,可以有更多、更好的选择。

目录

1.if语句

2.do-while语句

3.while语句

4.for语句

5.for-in语句

6.break和continue语句

7.switch语句


 

1.if语句

if语句是最为常用的语句,通常与else使用,下面是if语句的常用格式:

if(age<18)                         //条件语句
     alert("i am teenager");       //  单行语句,执行语句
if (age<18){
     alert("i am teenager ");
}else{
     alert("i am adult");          //代码块中语句,推荐写法
}

业界普遍推崇的佳实践是始终使用代码块,即使要执行的只有一行代码。因为这样可以消 除人们的误解,否则可能让人分不清在不同条件下要执行哪些语句。

2.do-while语句

do-while语句是一种后测试循环语句,只有在循环体中的代码执行之后,才会测试出口条件。 换句话说,在对条件表达式求值之前,循环体内的代码至少会被执行一次。下面是do-while语句的格式:

var a = 0;
do{
   a+=1;
}while(a<10){
  alert(a);
}   //10

  do-while这种后测试语句至少都会执行一次,代码如下:

var a = 0;
do{
   a+=1;
}while(a<0{
   alert(a);
}    //1

3.while语句

while语句是前循环语句,在循环体内代码被执行前,会对条件进行判断,所以while语句循环体内的代码可能永远不会执行,代码如下:

var i = 10;
while(i<20){
  i++;
}   //19
var i = 10;
while(i>20){
  i++;
} 
console.log(i)  //10

4.for语句

for语句也是前测试循环语句,它具有在执行循环之前初始化变量和定义循环后要执行的代 码的能力。代码如下:

for(var i = 0;i<5;i++){
    console.log(i);
}   //0 1 2 3 4

定义i的初始值为1,只有当条件表达式i<5成立时,才会进入for循环,跟while语句一样,也有可能发生循环体内代码不执行的情况。以上代码用while代码表示如下:

var i = 0;
while(i<5){
    console.log(i);
    i++;
}   //0 1 2 3 4

for 语句中的初始化表达式、控制表达式和循环后表达式都是可选的。将这三个表达式全部 省略,就会创建一个无限循环,例如:

for(;;){
    dosomething();  //无限循环
}

5.for-in语句

for-in 语句是一种精准的迭代语句,可以用来枚举对象的属性,语法如下:

for(property in object){
     console.log(property);
}

通过for-in循环的对象属性顺序是不可预测的,所有属性都会被返回一次,但是返回顺序会因浏览器有所差别。

var person = {};    //创建对象
person.name = "tom";
person.age = "22";
person.sex = "man";

for (i in person){      // 遍历person对象的属性
  console.log(i);
}  //name   age  sex

6.break和continue语句

break 和 continue 语句用于在循环中精确地控制代码的执行。其中,break 语句会立即退出循环,强制继续执行循环后面的语句。而 continue 语句虽然也是立即退出循环,但退出循环后会从循环的顶部继续执行。代码如下:

var sum = 0;
for( var i  = 1;i<15;i++){
       if(i%5 ==0){
          break;
       }
       sum ++;
   }
console.log(sum );  //4

上面代码定义了存储循环次数的sum,初始值为0。定义了初始值为1的i,进行for循环,若i<15,i加一,若i%5得到0时,则break退出循环,sum为当前循环次数。若把barek替换为continue,则结果如下:

var sum = 0;
for( var i  = 1;i<15;i++){
    if(i%5 ==0){
       continue;
    }
    sum ++;
  }
console.log(sum );  //12

当i = 5 时候, 会退出当前循环,接下来执行下一次循环时,i的值是6。当i=10时,也会退出当前循环,接下来执行下一次循环时,i的值是11,直到循环结束。

7.switch语句

switch语句与if语句关系很密切,也是常见的一种控制流语句,与C语言中的switch相似。代码如下:

switch (i) {    
case 25:    
     alert("25");  
     break;  
 case 35:          
     alert("35");        
     break;  
 case 45:  
     alert("45");        
     break;    
default:      
   alert("Other"); }

switch语句中case指的是每一种情形,如果表达式等于case,则执行下面的语句,break关键字则会跳出switch语句,如果省略break,在执行完当前case还会继续往下执行。switch 语句中使用任何数据类型(在很多其他语言中只能使用数值),无论是字符串,还是对象都没有 问题。其次,每个 case的值不一定是常量,可以是变量,甚至是表达式switch语句可以避免if-else的重复使用。

语句这部分就说到这里,这是在学习《JavaScript高级程序设计》这本书做的一个总结,也把这本书推荐给大家,共同学习,共同进步。