JS要点整理-3

136 阅读2分钟

分支语句

基于某一个条件决定执行某一段代码的能力

if 语句

if: 关键字,表明后续是一段if分支语句

(): 小括号内部填写条件, 用于决定是否执行后续内容

{}: 花括号内部填写要执行的分支代码, 如果条件为真, 则会执行

else: 表明前边条件都为false时,执行后续的花括号内的代码 语法一: if (条件) { 书写如果条件成立, 需要执行的代码 }

  var a = true
            if (a) {
                console.log('这是真的');
            }

语法二:if(条件){语法一执行,到此为止}else{语法一不成立执行}

  if (b) {
                console.log('这是真的');
            } else{
                console.log('这是假的');
              }
 判断是不是闰年
        if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) {
            console.log('是闰年')
        } else {
            console.log('不是')
        }

语法三:if(条件){语法一执行,到此为止}else if () {语法一不成立执行语法二}

多个 {} 只会有一个被执行, 一旦有一个条件为 true 了, 后面的就不再判断了

     if (num === 1) {
                console.log('这是真的');
            } else if (num === 0) {
                console.log('这是假的');
                    }  

语法四:if(条件){语法一执行,到此为止}else if () {语法一不成立执行语法二,到此为止}else{上述都不成立,执行语法三}

 var num = 100
            if (num === 1) {
                console.log('这是真的');
            } else if (num === 0) {
                console.log('这是假的');
                    } else{
                        console.log('这是神奇的');
                      } 

switch 语句

主要用于某一个变量的具体值, 做判断 (全等 ===)数据类型不一致时会导致判断失败

/**
       * switch (变量) {
       *    case (情况一) :
       *        break
       *    case (情况二) :
       *         break
       *    default :
       *        break
       * }
      */

switch 的穿透现象 (穿刺现象)

在书写 case 的时候, 没有 书写 break,那么如果这个 case 符合条件那么就会执行它内部的代码,代码执行完毕后, 没有发现 break, 所以会继续向下执行,不管 下一个 case 条件是否满足,直到遇见下一个 break 或者 当前 switch 代码全都执行完毕,

//月份天数
        var year = prompt("请输入年份") - 0
        var month = prompt("请输入月份") - 0
switch (month) {
            case 2:
                //区分闰年
                if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) {
                    console.log('29天');
                }else{
                    console.log('28天');
                }
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                console.log ('30天');    
                break; 
            default:
                //除此之外,将多的共同量放进来
                console.log ('31天');
                break;
        }

三元表达式 (三元运算符/三目运算符/问号冒号表达式)

对 if else 语句的简写,执行代码的位置只能写一句话

语法: 条件 ? 条件为真的时候执行的代码(只有一行) : 条件为假的时候执行的代码

var name = prompt ("请输入用户名")
var password = prompt ("请输入密码")
name === 'admin' && password === 'password' ? console.log('登陆成功') :  console.log('登陆失败')