在开发的过程中,语句的使用很频繁也很关键。但是在很多情况下,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高级程序设计》这本书做的一个总结,也把这本书推荐给大家,共同学习,共同进步。