饥人谷技术博客

JavaScript条件语句

2017-09-15  本文已影响22人  寿木

条件语句的作用是,当用户满足某个特定的条件时,才会执行相应的语句。

if 结构

if结构是先判断一个表达式的布尔值,然后根据布尔值的结果,执行不同的语句。

if (condition){
    //true statement
}else {
    //false statement
}

condition可以是任意表达式,JavaScript解释器会自动调用Boolean()将表达式的结果转换为布尔值。如果结果为true,则执行第一个代码块内的语句;如果为`false``,则执行第二个代码块内的语句。

if语句可以单独使用,也可以和多个else连续使用。

if (a = 1){
    // statement
}

if (a == 1){
}else if (a == 2){
}else if (a == 3){
}

label 标签

label是很多熟练的jser都会忽略的知识。语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置。
label语法:

labelname: statement;

标签可以是任意的标识符,但是不能使保留字,语句部分可以是任意语句。

switch 结构

switch 语句和if 语句的关系密切,当多个if...else连在一起使用的时候,可以转为更方便的switch结构。

switch(expresstion){
    case value1:
        statement;
        break;

    case value2:
        statement;
        break;

    default:
        statement;
}

switch语句会根据输入的变量expresstion的值,选择执行相应的case。如果所有的case都不符合,则执行最后的default部分。
需要注意的是,每个case代码内部的break语句不能少,否则会接下去执行下一个case代码块,而不是跳出switch结构。
虽然JavaScript的switch语句是参考C语言的写法,但是也有特殊性:

while和do-while

while语句属于前测试循环语句,也就是在循环体内的代码被执行之前,先对条件进行检测,不符合的话就不会执行后面的代码。

while(expression) {
    statement;
}

看个例子

var i = 0;
while(i < 10) {
    console.log(i);
    i++;
}

结果会输出从0-9十个数字。

所以,我们在使用while循环语句时,一定要给它设定一个具体的范围。否则就会一直执行下去,你会发现网页会被卡死,什么也做不了。

do-while是后测试循环语句,在出口条件判断之前就会执行一次代码

do {
    statement;
}while(expression);

不管条件是否为真,do...while循环至少运行一次。另外,while语句后面的分号不能省略。

for 循环语句

for语句也是前测试循环语句,但具备在执行循环代码以前初始化变量和定义循环后要执行代码的能力。它可以指定循环的起点、终点和终止条件。

for(var i = 1, i < 3, i++) {
    console.log(i);
}

for语句后面的括号里有三个表达式:

如果省略的for语句表达式的三个部分,或者没有设置循环的终点,就会导致一个无限循环。

break 和 continue

breakcontinue都具有跳转作用,可以让代码不按既有的顺序执行。

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


for(var i = 1; i< 10; i++){
    if(i % 4 === 0){
        continue;
    }
    console.log(i);
}

如果存在多重循环,不带参数的breakcontinue都只针对最内层循环。

上一篇 下一篇

猜你喜欢

热点阅读