JavaScript入门教程前端入门教程

JavaScript if条件语句和switch分支语句

2021-07-14  本文已影响0人  微语博客

if条件语句

有时我们需要根据不同条件执行不同的操作,我们可以使用 if 语句来实现。if(...) 语句计算括号里的条件表达式,如果计算结果是 true,就会执行对应的代码块。

例如:

var a = 5;//a是变量可以定义任何值
if( a > 0 ){ 
    console.log(a+"是正数"); //条件成立,执行后面的代码块
}

if (…) 语句会计算圆括号内的表达式,并将计算结果转换为布尔型。数字 0、空字符串 ""nullundefinedNaN 都会被转换成 false。因为它们被称为“假值(falsy)”值。其他值被转换为 true,所以它们被称为“真值(truthy)”。

else 语句

if 语句有时会包含一个可选的 "else" 块。如果判断条件不成立,就会执行它内部的代码。比如上面的代码可以再次判断:

var a = -5;//a是变量可以定义任何值
if( a > 0 ){ 
    console.log(a+"是正数"); 
}else{
    console.log(a+"是负数");//if条件不成立 执行else的代码块
}

多个条件 else if

有时我们需要测试一个条件的几个变体。我们可以通过使用 else if 子句实现。比如上面的else语句还有一点不合理的地方,因为0既不是负数也不是整数。

var a = 0;//a是变量可以定义任何值
if( a > 0 ){ 
    console.log(a+"是正数"); 
}else if( a = 0 ){
    console.log(a+"既不是负数也不是正数");  
}else{
    console.log(a+"是负数");//if条件不成立 执行else的代码块
}

可以有更多的 else if 块,结尾的 else 也不是必须的。

switch分支语句

switch 语句可以替代多个 if 判断。switch 语句为多分支选择的情况提供了一个更具描述性的方式。

switch 语句有至少一个 case 代码块和一个可选的 default 代码块。比如下面这样

var a = 12;//a可以是任意值
switch(a%2){
    case 0:
        console.log(a+"是偶数");
        break;
    case 1:
        console.log(a+"是奇数");
        break;
    default:
        console.log("----");//可选的分支语句,当上面的分支不可执行时会执行default语句        
}

break关键字用于跳出switch语句,如果缺少break会出现多个分支被执行的情况。当前如果没有符合的 case,则执行 default 代码块(如果 default 存在)。

case 分组

switch/case 有通过 case 进行“分组”的能力,其实是 switch 语句没有 break 时的副作用。如果几个 case 分支可以被分为一组,那么它们可以共享一段代码

var a = 5;//假设a是星期的某一天
switch(a){
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        console.log(a+"是工作日");
        break;
    case 6:
    case 7:
        console.log(a+"是休息日");
        break;
}

switch 中 case的判断是===的判断,即数据类型和值的双重判断,这点要注意。另外switch的判断条件可以是String 、Number、Boolean、char、枚举、null、undefined

上一篇 下一篇

猜你喜欢

热点阅读