分支语句
基于某一个条件决定执行某一段代码的能力
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('登陆失败')