一、運算符
算數(shù)運算符
數(shù)學(xué)運算符也叫算術(shù)運算符,主要包括加、減、乘、除、取余(求模)。
+:求和
-:求差
*:求積
/:求商
%:取模(取余數(shù))——開發(fā)中經(jīng)常作為某個數(shù)字是否被整除
優(yōu)先級:先乘除取余后加減,有括號先算括號里面的;優(yōu)先級相同時以書從左向右執(zhí)行;賦值運算符
對變量進行賦值的運算符;將等號右邊的值賦予給左邊, 要求左邊必須是一個變量
+=
-=
*=
/=
%=
//+=賦值運算符例子,其他賦值運算符同理
let age = 20
// = 運算符先計算=右邊的結(jié)果,再賦值給左側(cè)的變量
age = age + 5
// +=的意思是:將這個變量+值,再賦值給這個變量
age += 5 // 等價于: age = age + 5
- 一元運算符
根據(jù)所需表達式的個數(shù),分為一元運算符、二元運算符、三元運算符
一元運算符
自增:
符號:++
作用:讓變量的值 +1
自減:
符號:--
作用:讓變量的值 -1
使用一元運算符做自增運算
自增運算符的用法:
1.前置自增:++num
2.后置自增:num++
前置自增和后置自增單獨使用沒有區(qū)別
前置自增和后置自增如果參與運算就有區(qū)別:
let num = 3
// 前置自增
// 先自增,再運算得出結(jié)果(先自加再使用(記憶口訣:++在前 先加))
console.log(++num + 2)//輸出的值為6
num = 3
// 后置自增
// 先運算,得出結(jié)果后再自增(先使用再自加(記憶口訣:++在后 后加))
console.log(num++ + 2)//輸出的值為5
比較運算符
比較運算符:> ;<;>=;<=;
==: 左右兩邊是否相等,將兩邊的數(shù)據(jù)進行轉(zhuǎn)換為數(shù)值;
===: 左右兩邊是否類型和值都相等;
!==: 左右兩邊是否不全等;
比較結(jié)果為boolean類型,即只會得到true或false
比較運算符的細節(jié):1.字符串比較,是比較的字符對應(yīng)的ASCII碼
2.NaN不等于任何值,包括它本身
3.盡量不要比較小數(shù),因為小數(shù)有精度問題
4.不同類型之間比較會發(fā)生隱式轉(zhuǎn)換(最終把數(shù)據(jù)隱式轉(zhuǎn)換轉(zhuǎn)成number類型再比較,所以開發(fā)中,如果進行準確的比較我們更喜歡 === 或者 !==)-
邏輯運算符
邏輯運算符用來解決多重條件判斷
image.png
邏輯運算符里的短路
短路:只存在于 && 和 || 中,當滿足一定條件會讓右邊代碼不執(zhí)行
原因:通過左邊能得到整個式子的結(jié)果,因此沒必要再判斷右邊
運算結(jié)果:無論 && 還是 || ,運算結(jié)果都是最后被執(zhí)行的表達式值,一般用在變量賦值
image.png -
運算符優(yōu)先級
image.png
一元運算符里面的邏輯非優(yōu)先級最高
邏輯與比邏輯或優(yōu)先級高
二、語句
- 表達式和語句
表達式:表達式通常會在原地返回一個值; 代碼較短
語句:js 整句或命令,用來描述一件事情,代碼量比較長(比如: if語句 for 循環(huán)語句)
區(qū)別:
表達式計算出一個值,但語句用來自行以使某件事發(fā)生(做什么事)
(其實某些情況,也可以把表達式理解為語句,因為它是在計算結(jié)果,也是做事) - 分支語句
1.if語句
if語句有三種使用:單分支、雙分支、多分支
單分支:
if (條件) {
滿足條件之后要執(zhí)行的代碼
}
雙分支:
if (條件) {
滿足條件之后要執(zhí)行的代碼
}else {
不滿足條件要執(zhí)行的代碼
}
多分支(能有n多個else if):
if (條件1) {
滿足條件1之后要執(zhí)行的代碼
}else if(條件2){
滿足條件2要執(zhí)行的代碼
}else {
若以上條件都不滿足,則執(zhí)行這里的代碼
}
2.三元運算符(一般用來取值)
是比 if 雙分支更簡單的寫法,有時候也叫做三元表達式
符號:? 與 : 配合使用

// 三元表達式
// 1.需要三個操作數(shù)
// 2.表達式:三元表達式會返回一個值
// 語法:條件?滿足條件返回這里的執(zhí)行結(jié)果:不滿足條件返回這里的執(zhí)行結(jié)果
//需求:用戶輸入兩個數(shù)字,控制臺中輸出最大的數(shù)字
let num1 = +prompt('請輸入第一個數(shù)字')
let num2 = +prompt('請輸入第二個數(shù)字')
console.log(num1 > num2 ? num1 : num2)
- 循環(huán)語句
1.斷點調(diào)試:
作用:學(xué)習(xí)時可以幫助更好的理解代碼運行,工作時可以更快找到bug

2.while循環(huán)
循環(huán):重復(fù)執(zhí)行某段代碼, 而 while : 在…. 期間
跟if語句很像,都要滿足小括號里的條件為true才會進入執(zhí)行代碼
while大括號里代碼執(zhí)行完畢后不會跳出,而是繼續(xù)回到小括號里判斷條件是否滿足,若滿足又執(zhí)行大括號里的代碼,然后再回到小括號判斷條件,直到括號內(nèi)條件不滿足,即跳出
語法:
//需求:i循環(huán)5次
let i = 1
while (i <= 5) {
console.log(i)
i++
}
循環(huán)需要具備三要素:1.變量起始值
2.終止條件(沒有終止條件,循環(huán)會一直執(zhí)行,造成死循環(huán))
3.變量變化量(用自增或者自減)


