分支语句
前言
程序的执行顺序
- 顺序执行,从上而下
javascript
var num1 = 10
var num2 = 20
var result1 = num1 + num2
var result2 = num1 * num2
console.log(result1)
console.log(result2)- 分支语句,根据条件判断,决定执行代码的分支
javascript
var islogin = true
if (isLogin) {
console.log('进入主页')
} else {
console.log('跳转登录')
}- 循环语句,让特定代码重复执行
javascript
var i = 0
while (i < 10) {
console.log('执行循环语句')
i++
}一、if .. 语句
if 语句计算括号里的条件表达式,如果计算结果为true就会执行对应的代码块。
javascript
var weather = 'sunny'
if (weather === 'sunny') {
console.log('天气很好去放风筝吧')
}二、if .. else .. 语句
if 语句计算括号里的条件表达式,如果计算结果为true就会执行对应的代码块,反之执行else 的代码块。
javascript
var weather = 'sunny'
if (weather === 'sunny') {
console.log('天气很好去放风筝吧!')
} else {
console.log('天气不好在家睡觉吧!')
}三、if .. else if .. else .. 语句
计算符合条件的表达式并执行所在代码块。
javascript
var weather = 'sunny'
if (weather === 'sunny') {
console.log('天气很好去放风筝吧!')
} else if (warther === 'rainy') {
console.log('下雨了在家睡觉吧!')
} else {
console.log('敲代码吧!')
}四、三元运算符
条件后跟一个问号(?),条件为true,执行冒号(:)前的表达式;条件为false,执行最后的表达式。
javascript
var num1 = 2 + 3 + 4 * 5 + 6 ** 7
var num2 = 2 ** 4 + 4 * 5
var result = num1 > num2 ? num1 : num2
console.log(result) // 279961 -> num1五、逻辑运算符
逻辑与(&&)
基本使用
javascript
// 逻辑与 / 短路与 / &&
var chineseScore = 80
var mathScore = 90
// 在chineseScore > 90表达式为false时结束了代码执行
if (chineseScore > 90 && mathScore > 90) {
console.log('优秀')
}其他应用场景
javascript
var info = {
name: 'mocha',
eating: function () {
console.log('this is a eating function')
},
}
// 判断是否存在对象,对象是否有方法,最后执行函数
info && info.eating && info.eating()逻辑或(||)
基本使用
javascript
// 逻辑或 / 短路或 / ||
var chineseScore = 80
var mathScore = 90
/*
在chineseScore > 90表达式为false时,接着执行后续代码,
直到所有为false停止执行,若有true则执行代码块的代码
*/
if (chineseScore > 90 || mathScore > 90) {
console.log('优秀')
}其他应用场景
javascript
var info = {
name: 'mocha',
eating: function () {
console.log('this is a eating function')
},
}
// 取出对象的name字段,如果不存在则赋值为hand
var objName = info.name || 'hand'取反(!)
基本使用
javascript
var isLogin = true
if (!isLogin) {
console.log('跳转登录')
}其他应用场景
javascript
var message = 'this is a message'
// 将message转为Boolean类型
console.log(Boolean(message)) // true
// !message转化为Boolean类型,!!message表示对!message取反
console.log(!!message) // true六、switch 语句
switch 语句评估一个表达式,将表达式的值与case子句匹配,并执行与该情况相关联的语句。
javascript
var btnIndex = 0
switch (btnIndex) {
case 0:
console.log('上一首')
// 默认情况下具有case穿透
break
case 1:
console.log('暂停')
break
case 2:
console.log('下一首')
break
defualt: console.log('指令错误')
}