千鋒教育JavaScript全套視頻教程(10天學(xué)會Js,前端javascrip

數(shù)據(jù)類型轉(zhuǎn)換
- 數(shù)據(jù)類型之間的轉(zhuǎn)換,比如數(shù)字轉(zhuǎn)成字符串,字符串轉(zhuǎn)成布爾,布爾轉(zhuǎn)成數(shù)字等
其他數(shù)據(jù)類型轉(zhuǎn)成數(shù)值
1. `Number(變量)`
? ?- 可以把一個變量強(qiáng)制轉(zhuǎn)換成數(shù)值類型
? ?- 可以轉(zhuǎn)換小數(shù),會保留小數(shù)
? ?- 可以轉(zhuǎn)換布爾值
? ?- 遇到不可轉(zhuǎn)換的都會返回 NaN
2. `parseInt(變量)`
? ?- 從第一位開始檢查,是數(shù)字就轉(zhuǎn)換,知道一個不是數(shù)字的內(nèi)容
? ?- 開頭就不是數(shù)字,那么直接返回 NaN
? ?- 不認(rèn)識小數(shù)點(diǎn),只能保留整數(shù)
3. `parseFloat(變量)`
? ?- 從第一位開始檢查,是數(shù)字就轉(zhuǎn)換,知道一個不是數(shù)字的內(nèi)容
? ?- 開頭就不是數(shù)字,那么直接返回 NaN
? ?- 認(rèn)識一次小數(shù)點(diǎn)
4. 除了加法以外的數(shù)學(xué)運(yùn)算
? ?- 運(yùn)算符兩邊都是可運(yùn)算數(shù)字才行
? ?- 如果運(yùn)算符任何一遍不是一個可運(yùn)算數(shù)字,那么就會返回 NaN
? ?- 加法不可以用
### 其他數(shù)據(jù)類型轉(zhuǎn)成字符串
1. `變量.toString()`
? ?- 有一些數(shù)據(jù)類型不能使用 `toString()` 方法,比如 undefined 和 null
2. `String(變量)`
? ?- 所有數(shù)據(jù)類型都可以
3. 使用加法運(yùn)算
? ?- 在 JS 里面,`+` 由兩個含義
? ?- 字符串拼接: 只要 `+` 任意一邊是字符串,就會進(jìn)行字符串拼接
? ?- 加法運(yùn)算:只有 `+` 兩邊都是數(shù)字的時候,才會進(jìn)行數(shù)學(xué)運(yùn)算
### 其他數(shù)據(jù)類型轉(zhuǎn)成布爾
1. `Boolean(變量)`
? ?- 在 js 中,只有 `''`、`0`、`null`、`undefined`、`NaN`,這些是 false,其余都是 true
## 運(yùn)算符
- 就是在代碼里面進(jìn)行運(yùn)算的時候使用的符號,不光只是數(shù)學(xué)運(yùn)算,我們在 js 里面還有很多的運(yùn)算方式
### 數(shù)學(xué)運(yùn)算符
1. `+`
? ?- 只有符號兩邊都是數(shù)字的時候才會進(jìn)行加法運(yùn)算
? ?- 只要符號任意一邊是字符串類型,就會進(jìn)行字符串拼接
2. `-`
? ?- 會執(zhí)行減法運(yùn)算
? ?- 會自動把兩邊都轉(zhuǎn)換成數(shù)字進(jìn)行運(yùn)算
3. `*`
? ?- 會執(zhí)行乘法運(yùn)算
? ?- 會自動把兩邊都轉(zhuǎn)換成數(shù)字進(jìn)行運(yùn)算
4. `/`
? ?- 會執(zhí)行除法運(yùn)算
? ?- 會自動把兩邊都轉(zhuǎn)換成數(shù)字進(jìn)行運(yùn)算
5. `%`
? ?- 會執(zhí)行取余運(yùn)算
? ?- 會自動把兩邊都轉(zhuǎn)換成數(shù)字進(jìn)行運(yùn)算
### 賦值運(yùn)算符
1. `=`
? ?- 就是把 `=` 右邊的賦值給等號左邊的變量名
? ?- `var num = 100`
? ?- 就是把 100 賦值給 num 變量
? ?- 那么 num 變量的值就是 100
2. `+=`
? ?```javascript
? ?var a = 10;
? ?a += 10;
? ?console.log(a); //=> 20
? ?```
? ?- `a += 10` 等價于 `a = a + 10`
3. `-=`
? ?```javascript
? ?var a = 10;
? ?a -= 10;
? ?console.log(a); //=> 0
? ?```
? ?- `a -= 10` 等價于 `a = a - 10`
4. `*=`
? ?```javascript
? ?var a = 10;
? ?a *= 10;
? ?console.log(a); //=> 100
? ?```
? ?- `a *= 10` 等價于 `a = a * 10`
5. `/+`
? ?```javascript
? ?var a = 10;
? ?a /= 10;
? ?console.log(a); //=> 1
? ?```
? ?- `a /= 10` 等價于 `a = a / 10`
6. `%=`
? ?```javascript
? ?var a = 10;
? ?a %= 10;
? ?console.log(a); //=> 0
? ?```
? ?- `a %= 10` 等價于 `a = a % 10`
### ?比較運(yùn)算符
1. `==`
? ?- 比較符號兩邊的值是否相等,不管數(shù)據(jù)類型
? ?- `1 == '1'`
? ?- 兩個的值是一樣的,所以得到 true
2. `===`
? ?- 比較符號兩邊的值和數(shù)據(jù)類型是否都相等
? ?- `1 === '1'`
? ?- 兩個值雖然一樣,但是因?yàn)閿?shù)據(jù)類型不一樣,所以得到 false
3. `!=`
? ?- 比較符號兩邊的值是否不等
? ?- `1 != '1'`
? ?- 因?yàn)閮蛇叺闹凳窍嗟鹊?,所以比較他們不等的時候得到 false
4. `!==`
? ?- 比較符號兩邊的數(shù)據(jù)類型和值是否不等
? ?- `1 !== '1'`
? ?- 因?yàn)閮蛇叺臄?shù)據(jù)類型確實(shí)不一樣,所以得到 true
5. `>=`
? ?- 比較左邊的值是否 大于或等于 右邊的值
? ?- `1 >= 1` ?true
? ?- `1 >= 0` ?true
? ?- `1 >= 2` ?false
6. `<=`
? ?- 比較左邊的值是否 小于或等于 右邊的值
? ?- `1 <= 2` ?true
? ?- `1 <= 1` ?true
? ?- `1 <= 0` ?false
7. `>`
? ?- 比較左邊的值是否 大于 右邊的值
? ?- `1 > 0` ?true
? ?- `1 > 1` ?false
? ?- `1 > 2` ?false
8. `<`
? ?- 比較左邊的值是否 小于 右邊的值
? ?- `1 < 2` ?true
? ?- `1 < 1` false
? ?- `1 < 0` false
### 邏輯運(yùn)算符
1. `&&`
? ?- 進(jìn)行 且 的運(yùn)算
? ?- 符號左邊必須為 true 并且右邊也是 true,才會返回 true
? ?- 只要有一邊不是 true,那么就會返回 false
? ?- `true && true` ?true
? ?- `true && false` ?false
? ?- `false && true` ?false
? ?- `false && false` ?false
2. `||`
? ?- 進(jìn)行 或 的運(yùn)算
? ?- 符號的左邊為 true 或者右邊為 true,都會返回 true
? ?- 只有兩邊都是 false 的時候才會返回 false
? ?- `true || true` ?true
? ?- `true || false` ?true
? ?- `false || true` ?true
? ?- `false || false` ?false
3. `!`
? ?- 進(jìn)行 取反 運(yùn)算
? ?- 本身是 true 的,會變成 false
? ?- 本身是 false 的,會變成 true
? ?- `!true` ?false
? ?- `!false` ?true