JavaScript条件语句

在JavaScript 中提供if结构和switch结构,满足条件判断,才会执行相应的语句。

1. if语句

if语句的几种形式

  • 第一种形式

    if (条件表达式) {
        条件满足执行的语句
    }
    
  • 第二种形式

    if (条件表达式) {
        满足条件表达式执行的语句
    } else {
        不满足条件执行的语句
    }
    
  • 第三种形式

    if (条件表达式1) {
        满足条件表达式1执行的语句
    } else if (条件表达式2) {
        满足条件表达式2执行的语句
    }
    ...
    else{
        都不满足条件执行的语句
    }
    

2. if语句的几个注意点

  • 不是非布尔类型的先会转换成布尔类型
// Boolean(null) ==> false
if(null){
    console.log('语句A');
}else{
    console.log('语句B'); 
}
// Boolean('123') ==> true
if ('123') {
    console.log('语句A');
} else {
    console.log('语句B');
}
  • 对于 =====判断, 将常量写在前面
var num = 10;
// 这里价格常量写在前面 是为了防止写错
// if (num = 5) 
if(5 == num){
    console.log("语句A");
}
console.log("语句B");
  • if/else后面的大括号都可以省略, 但是省略之后只有紧随其后的语句受到控制
if (false)
    console.log("语句A");
    console.log("语句B"); 
// 会输出语句B  因为只有紧随其后的语句才有用

3. switch语句

switch格式

switch(表达式){
    case 表达式A:
        语句A;
        break;
    case 表达式B:
        语句B;
        break;
        ... ...
        default:
        前面所有case都不匹配执行的代码;
        break;
}

switch特点

会从上至下的依次判断每一个case是否和()中表达式的结果相等, 如果相等就执行对应case后面的代码, 如果前面所有的case都不匹配, 那么就会执行default后面的代码

并且所有的case和default只有一个会被执行, 并且只会被执行一次

var day = 7;
switch (day) {
    case 1:
        console.log("周一");
        break;
    case 2:
        console.log("周二");
        break;
    case 3:
        console.log("周三");
        break;
    case 4:
        console.log("周四");
        break;
    case 5:
        console.log("周五");
        break;
    case 6:
        console.log("周六");
        break;
    case 7:
        console.log("周日");
        break;
    default:
        console.log("你是外星人吧!");
        break;
}

4. switch的几个注意点

  • case判断的是===, 而不是==
var age = 18;
switch (age) {
    case "18":
        console.log("字符串的18");
        break;
    default:
        console.log("不匹配字符串的18!"); // 打印不匹配字符串的18!
        break;
}
  • switch()中可以是常量也可以是变量还可以是表达式
var total = 18;
switch (16 + 2 ) {
    case 18:
        console.log("总共18");
        break;
    default:
        console.log("什么也不是!");
        break;
}
  • case后面可以是常量也可以是变量还可以是表达式
var total = 18;
switch (18) {
        // 表达式
        // case 16 + 2:
        // 常量
        // case 18:
        // 变量
    case total:
        console.log("总共18");
        break;
    default:
        console.log("什么也不是!");
        break;
}
  • break的作用是立即结束整个switch语句
var num = 1;
switch (num) {
    case 1:
        console.log("1");
        break;
    case 2:
        console.log("2");
        break;
    default:
        console.log("Other");
        break;
}
  • default不一定要写在最后,default无论放到什么位置, 都会等到所有case都不匹配再执行
var num = 7;
switch (num) {
        // default:
        //     console.log("Other");
        //     break;
    case 1:
        console.log("1");
        break;
    default:
        console.log("Other");
        break;
    case 2:
        console.log("2");
        break;
}
  • 和if/else中的else一样, default也可以省略
var num = 7;
switch (num) {
    case 1:
        console.log("1");
        break;
    case 2:
        console.log("2");
        break;
}

你可能感兴趣的:(JavaScript条件语句)