一. 進(jìn)制轉(zhuǎn)換
1. 十進(jìn)制轉(zhuǎn)其他進(jìn)制
- toString(進(jìn)制)
var num = 43;
console.log(num.toString(2)); // 101011
console.log(num.toString(8)); // 53
console.log(num.toString(16)); // 2b
console.log(num.toString(32)); // 1b
2. 其他進(jìn)制轉(zhuǎn)十進(jìn)制
- parseInt(數(shù)字, 描述當(dāng)前為幾進(jìn)制)
console.log(parseInt(101011, 2)); // 43
console.log(parseInt(53, 8)); // 43
二.運(yùn)算符
1. +號(hào)拼接字符串
- +號(hào)左右兩邊, 只要有一邊出現(xiàn)字符串, 就是拼接
var str = 10 + '24';
console.log(str); // 1024
var num = 10 + true;
console.log(num); // 11
2. 算數(shù)運(yùn)算符
- +, -, *, /, %
3. 賦值運(yùn)算符
- =, +=, -=, *=, /=, %=
4. 邏輯運(yùn)算符
- && 邏輯與 (短路運(yùn)算)
- || 邏輯或 (短路運(yùn)算)
- ! 取反
var num1 = 1 && 2; // 2
var num2 = true || false; // true
var result = num1 * num2 + 3;
console.log(result); // 5
5. 關(guān)系運(yùn)算符
- <, <=, >, >=, ==, ===, !=, !===
- == 會(huì)自動(dòng)做隱式轉(zhuǎn)換,它的比較是,只要值相等即可
- === 值和類型都需要相等
- [注] 如果已知兩個(gè)變量的類型, 就用===, 它的效率高于==
- 比較規(guī)則
- 數(shù)值和數(shù)值比較, 直接比較大小
- 數(shù)值和字符串比較, 字符串轉(zhuǎn)為數(shù)值,再進(jìn)行比較
- 字符串和字符串進(jìn)行比較, 轉(zhuǎn)換成ASCII碼,再進(jìn)行比較
6. 三目運(yùn)算符
- 判斷條件 ? 表達(dá)式1 : 表達(dá)式2
- 判斷條件 成立執(zhí)行表達(dá)式1, 否則執(zhí)行表達(dá)式2
var result = 10 > 5 ? "大于" : "小于";
console.log(result); // 大于
7. 一元運(yùn)算符 ++, --
- a++ 先取值, 后運(yùn)算
- ++a 先運(yùn)算, 后取值
var a = 10;
var result = a++ + ++a + a++ * 2 + a-- + --a;
console.log(a); // 11
console.log(result); // 70
8. 位移運(yùn)算符
- 將第1個(gè)數(shù)轉(zhuǎn)換為二進(jìn)制, 然后根據(jù)符號(hào)向左還是向右移動(dòng)第2個(gè)數(shù)對(duì)應(yīng)位數(shù),不足位補(bǔ)0, 再轉(zhuǎn)換為十進(jìn)制
/*
eg1. 2 << 2
2 -> 00000010 -> 00001000 -> 8
eg2. 2 >> 2
2 -> 00000010 -> 00000000 -> 0
*/
9. 關(guān)系運(yùn)算符(特殊)
console.log(null == undefined); // true
console.log(NaN == NaN); // false
console.log('NaN' == NaN); // false
console.log(5 == NaN); // false
console.log(false == 0); // true
console.log(true == 1); // true
console.log(true == 2); // false
console.log(undefined == 0); // false undefined隱式轉(zhuǎn)換為NaN
console.log(Number(undefined)); // NaN
console.log(null == 0); // false
console.log('100' == 100); // true
console.log('100' === 100); // false
10.運(yùn)算符優(yōu)先級(jí)(特殊)
- .對(duì)象成員取值, []數(shù)組下標(biāo), ()函數(shù)調(diào)用 優(yōu)先級(jí)別最高
- && 大于 ||
三. 三大主流語(yǔ)句
1. 順序: 從上到下執(zhí)行, 從左往右
2. 分支: 單分支, 雙分支, 多分支
if(){}
if(){} ... else{}
if(){} ... else if(){} ... else{}
switch(條件表達(dá)式) { // 表達(dá)式條件為'恒等于'
case 條件1:
// 邏輯代碼
break;
...
default:
// 邏輯代碼
break; // 這里的break可寫可不寫
}
3. 循環(huán): for, while, do...while

1 (5).png