Skip to content

分支语句 ​

前言 ​

程序的执行顺序

  1. 顺序执行,从上而下
javascript
var num1 = 10
var num2 = 20
var result1 = num1 + num2
var result2 = num1 * num2
console.log(result1)
console.log(result2)
  1. 分支语句,根据条件判断,决定执行代码的分支
javascript
var islogin = true
if (isLogin) {
	console.log('进入主页')
} else {
	console.log('跳转登录')
}
  1. 循环语句,让特定代码重复执行
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('指令错误')
}