if语句是一种基本的控制语句,它让JavaScript程序可以选择执行路径,更准确的说,就是有条件的执行语句。

第一种形式:

if(条件){
    执行语句
}

在这种形式中,需要计算条件中的值,如果计算结果是真值,那么就执行执行语句。如果条件的值是假值,那么就不执行执行语句。

例如:

if(username == null);                  //如果username是null或者undefined
username = "Johe Doe";                 //对其进行定义

同样的:

//如果username是null、undefined、false、0、""或者NaN,那么就给它赋一个新值
if(!username) username = "Johe Doe";

需要注意的是,if语句中括住条件的圆括号在语法上是必须的

JavaScript语法规定,if关键字和带圆括号的表达式之后必须跟随一条语句,但可以使用语句块将多条语句合并成一条。

if语句的形式如下:

var i = 1;
if(i == 1){
    alert(111);
}

if语句的第二种形式引入了else从句,当条件的值是false的时候执行else中的逻辑。语法如下:

if(条件){
    执行语句1
}else{
    执行语句2
}

这段代码中,当条件中的值是真值时执行执行语句1,当条件中的值为假值时执行执行语句2,例如:

if(i == 2){
    console.log("You have 1 new message");
} else {
    console.log("You have " + i + "new message.");
}

if语句在程序执行过程中创建一条分支。

当所有分支都依赖于同一个表达式的值时,if并不是最佳解决方案。

switch语句正适合处理这种情况。

关键字switch之后紧跟着圆括号括起来的一个表达式,随后是一对花括号括起来的代码块。示例代码:

switch(条件){
    执行语句
}

switch语句的完整语法要比这复杂一些。代码块中可以使用多个有case关键字标识的代码片段,case之后是一个表达式和一个冒号,case和标记语句很类似,只是这个标记语句并没有名字,它之和它后面的表达式关联在一起。

当执行这条switch语句的时候,它首先计算条件中的值,然后查找case子句中的表达式是否和条件的值相同(这里的“相同”是按照“===”运算符进行比较的)。

如果找到匹配的case,那么将会执行这个case对应的代码块。

如果找不到匹配的case,那么将会执行"default:"标签中的代码块。

如果没有"default:"标签,switch语句将跳过它的所有代码块。

switch语句实例:

switch(n) {
    case 1:
       //执行代码 1
    break;
    case 2:
       //执行代码 2
    break;
    case 3:
       //执行代码 3
    break;
    default:
       //执行代码 4
    break;
}

需要注意的是,在上面的代码中,在每一个case语句块的结尾处都使用了关键字break。

break语句可以使解释器跳出switch语句或循环语句。

在switch语句中,case只是指明了要执行的代码起点,但并没有指明终点。

如果没有break语句,那么switch语句就会从与条件的值相匹配的case标签处的代码块开始执行,依次执行后面的语句,一直到整个switch代码块的结尾。

在大多数情况下,应该使用break语句来终止每个case语句块。

当然,如果在函数中使用switch语句,可以使用retuern来代替break语句,return和break语句都用于终止switch语句,也会防止一个case语句块执行完后继续执行下一个case语句块

05-13 05:36