📔 Day 4 条件语句
条件语句
条件语句用于根据不同的条件做出决策。
默认情况下,JavaScript 脚本中的语句从上到下顺序执行。
但是根据逻辑需要,可以通过以下两种方式改变执行的顺序流程:
- 条件执行:如果某个表达式为真,将执行一个或多个语句块
- 重复执行:只要某个表达式为真,就会重复执行一个或多个语句块。
在本节中,将介绍 if、else、else if 语句。在前几节中学习的比较和逻辑运算符在这里会很有用。
条件可以通过以下方式实现:
- if
- if else
- if else if else …
- switch
- 三元运算符
if条件语句
在 JavaScript 和其他编程语言中,关键字 if 用于检查条件是否为真并执行块代码。要创建 if 条件,需要 if 关键字、括号内的条件和大括号 ({}) 内的代码块。
if (condition) {
//if条件语句
}
Example:
let num = 3
if (num > 0) {
console.log(`${num} 是一个正数`)
}
// 3 是一个正数
let isRaining = true
if (isRaining) {
console.log('别忘了带伞!')
}
// 别忘了带伞!
if else条件语句
如果条件为真,将执行第一个代码块,否则将执行 else 条件后的代码块。
if (condition) {
// 判断条件结果为真时调用
} else {
// 判断条件结果为假时调用
}
let num = 3
if (num > 0) {
console.log(`${num} is a positive number`)
} else {
console.log(`${num} is a negative number`)
}
// 3 is a positive number
num = -3
if (num > 0) {
console.log(`${num} is a positive number`)
} else {
console.log(`${num} is a negative number`)
}
// -3 is a negative number
let isRaining = true
if (isRaining) {
console.log('You need a rain coat.')
} else {
console.log('No need for a rain coat.')
}
// You need a rain coat.
isRaining = false
if (isRaining) {
console.log('You need a rain coat.')
} else {
console.log('No need for a rain coat.')
}
// No need for a rain coat.
最后一个判断语句的结果为false,因此执行了else模块。那么如果有两个以上的判断呢?对于这种情况,推荐使用 else if 判断语句。
if-else if-else条件语句
在我们的日常生活中,我们每天都会做出决定。 通常我们不是通过一个或两个条件来做出决定,而是根据多个条件做出决定。 编程语句亦然。 当有多个条件时,推荐使用 else if。
if (condition1) {
// code
} else if (condition2) {
// code
} else {
// code
}
例子:
let a = 0
if (a > 0) {
console.log(`${a} is a positive number`)
} else if (a < 0) {
console.log(`${a} is a negative number`)
} else if (a == 0) {
console.log(`${a} is zero`)
} else {
console.log(`${a} is not a number`)
}
// if else if else
let weather = 'sunny'
if (weather === 'rainy') {
console.log('You need a rain coat.')
} else if (weather === 'cloudy') {
console.log('It might be cold, you need a jacket.')
} else if (weather === 'sunny') {
console.log('Go out freely.')
} else {
console.log('No need for rain coat.')
}
Switch语句
switch语句 是 **if else if else **语句 的替代品。switch 语句以 switch 关键字开头,后跟括号和代码块。
在代码块中,有不同的情况。 如果 switch 语句括号中的值与 case 值匹配,则 case 块运行。
break 语句用于终止执行,因此在满足条件后代码执行不会停止。
如果所有案例都不满足条件,则默认块运行。
switch(caseValue){
case 1:
// code
break
case 2:
// code
break
case 3:
// code
default:
// code
}
let weather = 'cloudy'
switch (weather) {
case 'rainy':
console.log('You need a rain coat.')
break
case 'cloudy':
console.log('It might be cold, you need a jacket.')
break
case 'sunny':
console.log('Go out freely.')
break
default:
console.log(' No need for rain coat.')
}
let dayUserInput = prompt('What day is today ?')
let day = dayUserInput.toLowerCase()
switch (day) {
case 'monday':
console.log('Today is Monday')
break
case 'tuesday':
console.log('Today is Tuesday')
break
case 'wednesday':
console.log('Today is Wednesday')
break
case 'thursday':
console.log('Today is Thursday')
break
case 'friday':
console.log('Today is Friday')
break
case 'saturday':
console.log('Today is Saturday')
break
case 'sunday':
console.log('Today is Sunday')
break
default:
console.log('It is not a week day.')
}
let num = prompt('Enter number');
switch (true) {
case num > 0:
console.log('Number is positive');
break;
case num == 0:
console.log('Numbers is zero');
break;
case num < 0:
console.log('Number is negative');
break;
default:
console.log('Entered value was not a number');
}
三元运算符
另一种编写条件的方法是使用三元运算符。 在其他部分已经介绍了这一点,在这里简单提一下。
let isRaining = true
isRaining
? console.log('You need a rain coat.')
: console.log('No need for a rain coat.')