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语句块