- 數(shù)據(jù)類型
程序中的數(shù)據(jù)不僅僅只有數(shù)字一種乾吻,還有字符串等等 - 選擇控制
if 可以根據(jù)情況選擇性執(zhí)行對(duì)相應(yīng)代碼塊
const demoIf = function() {
// 定義一個(gè)變量 grade 代表年級(jí)
var grade = 3
// 如果 grade 小于 7
if (grade < 7) {
// 這句 log 只在 grade 小于 7 這個(gè)條件滿足的情況下會(huì)被執(zhí)行
log('小學(xué)生')
}
PS:打log用于調(diào)試代碼
選擇控制有多種不同的用法,只有 if時(shí)
if (1 > 2) {
log('條件成立')
}
if 帶 else時(shí),if else 必定會(huì)執(zhí)行一個(gè)語(yǔ)句
if (1 > 2) {
log('條件成立')
} else {
log('條件不成立')
}
多個(gè) if else:
var grade1 = 8
if (grade1 < 7) {
log('小學(xué)生')
} else if (grade1 < 10) {
log('初中生')
} else {
log('高中生')
}
- 比較運(yùn)算和邏輯操作
if 判斷的條件(括號(hào)里的表達(dá)式)其實(shí)是一個(gè)值, 這種值叫 布爾值(Boolean)
這種值只有兩種結(jié)果, 一個(gè)是true, 一個(gè)是false
一共有 6 個(gè)常用比較運(yùn)算(== != < > <= >=)
三種邏輯操作符:與或非(and or not)
((1 == 1) and (2 >= 2)) or (1 <= 2)
- 函數(shù)返回值
函數(shù)的實(shí)質(zhì)為對(duì)于固定的輸入尝艘,會(huì)得到一個(gè)唯一的輸出浅辙,函數(shù)最后將輸出值返回可以賦值給其他變量
// 例
// 定義一個(gè)函數(shù) add
// 接受 a b 兩個(gè)參數(shù)
const add = function(a, b) {
// 用 return 語(yǔ)句來得到一個(gè)返回值
// 函數(shù)執(zhí)行到 return 語(yǔ)句的時(shí)候就結(jié)束了
return a + b
}
// 用法
log('add 函數(shù)的返回值', add(1, 2))
var number = add(2, 3)
log('add 函數(shù)的返回值 number', number)
// 注意看上面的語(yǔ)句, add(2, 3) 被當(dāng)做一個(gè)值賦值給了變量 number
// 也就是說這個(gè)函數(shù)調(diào)用是一個(gè)值, 這個(gè)值就是函數(shù)的返回值
PS:函數(shù)執(zhí)行遇到 return 就結(jié)束
// 函數(shù)執(zhí)行遇到 return 就結(jié)束
const minus = function(a, b) {
log('minus 函數(shù)運(yùn)行開始')
return a - b
log('這一句是不會(huì)被執(zhí)行的, 因?yàn)?return 的時(shí)候函數(shù)就結(jié)束了')
// 請(qǐng)注意,return 會(huì)終止循環(huán)這個(gè)概念非常重要
}
- 程序調(diào)試
程序的錯(cuò)誤分 2 種
a. 語(yǔ)法錯(cuò)誤(例如:保留字書寫錯(cuò)誤,程序根本運(yùn)行不了)
b. 邏輯錯(cuò)誤(程序可以運(yùn)行,得到的結(jié)果與預(yù)期的不同)
PS:使用打log的方式對(duì)邏輯錯(cuò)誤進(jìn)行調(diào)試(一定要有不一樣的標(biāo)記字符串绎狭,以區(qū)分打印的是哪個(gè)值)
const max = function(a, b) {
if (a < b) {
log('max if', a, b)
return a
} else {
log('max else', a, b)
return b
}
}