条件语句
条件语句用于根据不同的条件做出决策。
默认情况下,JavaScript 中的语句是从上到下顺序执行的。如果处理逻辑需要,可以通过两种方式改变执行的顺序:
- 条件执行:如果某个表达式为真,将执行一个或多个语句的代码块。
- 重复执行:只要某个表达式为真,将重复执行一个或多个语句的代码块。在本节中,我们将介绍 if、else、else if 语句。
条件可以通过以下几种方式实现:
- if
- if else
- if else if else
- switch
- 三元运算符
If
在 JavaScript 和其他编程语言中,关键字 if 用于检查条件是否为真,并执行代码块。要创建一个 if 条件,我们需要 if 关键字、括号内的条件和花括号({})内的代码块。
// 语法
if (condition) {
// 当条件为真时执行的代码
}
let num = 3
if (num > 0) {
console.log(`${num} 是一个正数`)
}
// 3 是一个正数
如上面的条件示例所示,3 大于 0,因此它是一个正数。条件为真,代码块被执行。然而,如果条件为假,我们将看不到任何结果。
let isRaining = true
if (isRaining) {
console.log('记得带雨衣。')
}
同样,对于第二个条件,如果 isRaining 为假,if 代码块将不会被执行,我们不会看到任何输出。为了查看一个假条件的结果,我们需要有另一个代码块,即 else。
If Else
如果条件为真,将执行第一个代码块,否则将执行 else 代码块。
// 语法
if (condition) {
// 当条件为真时执行的代码
} else {
// 当条件为假时执行的代码
}
let num = 3
if (num > 0) {
console.log(`${num} 是一个正数`)
} else {
console.log(`${num} 是一个负数`)
}
// 3 是一个正数
num = -3
if (num > 0) {
console.log(`${num} 是一个正数`)
} else {
console.log(`${num} 是一个负数`)
}
// -3 是一个负数
let isRaining = true
if (isRaining) {
console.log('你需要一件雨衣。')
} else {
console.log('不需要雨衣。')
}
// 你需要一件雨衣。
isRaining = false
if (isRaining) {
console.log('你需要一件雨衣。')
} else {
console.log('不需要雨衣。')
}
// 不需要雨衣。
最后的条件为假,因此执行了 else 代码块。如果我们有两个以上的条件呢?在这种情况下,我们会使用 else if 条件。
If Else if Else
在日常生活中,我们每天都会做出决策。我们不是通过检查一个或两个条件来做决定,而是基于多个条件来做出决策。与日常生活类似,编程中也充满了条件。我们在有多个条件时使用 else if。
// 语法
if (condition) {
// 代码
} else if (condition) {
// 代码
} else {
// 代码
}
let a = 0
if (a > 0) {
console.log(`${a} 是一个正数`)
} else if (a < 0) {
console.log(`${a} 是一个负数`)
} else if (a == 0) {
console.log(`${a} 是零`)
} else {
console.log(`${a} 不是一个数字`)
}
// if else if else
let weather = 'sunny'
if (weather === 'rainy') {
console.log('你需要一件雨衣。')
} else if (weather === 'cloudy') {
console.log('可能会冷,你需要一件夹克。')
} else if (weather === 'sunny') {
console.log('可以自由出门。')
} else {
console.log('不需要雨衣。')
}
Switch
Switch 是 if else if else else 的替代方案。
switch 语句以 switch 关键字开头,后跟括号和代码块。在代码块中,我们将有不同的 case。case 代码块在 switch 语句括号内的值与 case 值匹配时运行。break 语句用于终止执行,以免在条件满足后代码继续向下执行。default 代码块在所有 case 条件都不满足时运行。
switch(caseValue){
case 1:
// 代码
break
case 2:
// 代码
break
case 3:
// 代码
break
default:
// 代码
}
let weather = 'cloudy'
switch (weather) {
case 'rainy':
console.log('你需要一件雨衣。')
break
case 'cloudy':
console.log('可能会冷,你需要一件夹克。')
break
case 'sunny':
console.log('可以自由出门。')
break
default:
console.log('不需要雨衣。')
}
// Switch 更多示例
let dayUserInput = prompt('今天是星期几?')
let day = dayUserInput.toLowerCase()
switch (day) {
case 'monday':
console.log('今天是星期一')
break
case 'tuesday':
console.log('今天是星期二')
break
case 'wednesday':
console.log('今天是星期三')
break
case 'thursday':
console.log('今天是星期四')
break
case 'friday':
console.log('今天是星期五')
break
case 'saturday':
console.log('今天是星期六')
break
case 'sunday':
console.log('今天是星期天')
break
default:
console.log('这不是一个星期几。')
}
在 cases 中使用条件的示例
let num = prompt('输入数字');
switch (true) {
case num > 0:
console.log('数字是正数');
break;
case num == 0:
console.log('数字是零');
break;
case num < 0:
console.log('数字是负数');
break;
default:
console.log('输入的值不是一个数字');
}
三元运算符
另一种编写条件语句的方法是使用三元运算符。
let isRaining = true
isRaining
? console.log('你需要一件雨衣。')
: console.log('不需要雨衣。')