一. 进制转换
1. 十进制转其他进制
- toString(进制)
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. 其他进制转十进制
- parseInt(数字, 描述当前为几进制)
console.log(parseInt(101011, 2)); // 43
console.log(parseInt(53, 8)); // 43
二.运算符
1. +号拼接字符串
- +号左右两边, 只要有一边出现字符串, 就是拼接
var str = 10 + '24';
console.log(str); // 1024
var num = 10 + true;
console.log(num); // 11
2. 算数运算符
- +, -, *, /, %
3. 赋值运算符
- =, +=, -=, *=, /=, %=
4. 逻辑运算符
- && 逻辑与 (短路运算)
- || 逻辑或 (短路运算)
- ! 取反
var num1 = 1 && 2; // 2
var num2 = true || false; // true
var result = num1 * num2 + 3;
console.log(result); // 5
5. 关系运算符
- <, <=, >, >=, ==, ===, !=, !===
- == 会自动做隐式转换,它的比较是,只要值相等即可
- === 值和类型都需要相等
- [注] 如果已知两个变量的类型, 就用===, 它的效率高于==
- 比较规则
- 数值和数值比较, 直接比较大小
- 数值和字符串比较, 字符串转为数值,再进行比较
- 字符串和字符串进行比较, 转换成ASCII码,再进行比较
6. 三目运算符
- 判断条件 ? 表达式1 : 表达式2
- 判断条件 成立执行表达式1, 否则执行表达式2
var result = 10 > 5 ? "大于" : "小于";
console.log(result); // 大于
7. 一元运算符 ++, --
- a++ 先取值, 后运算
- ++a 先运算, 后取值
var a = 10;
var result = a++ + ++a + a++ * 2 + a-- + --a;
console.log(a); // 11
console.log(result); // 70
8. 位移运算符
- 将第1个数转换为二进制, 然后根据符号向左还是向右移动第2个数对应位数,不足位补0, 再转换为十进制
/*
eg1. 2 << 2
2 -> 00000010 -> 00001000 -> 8
eg2. 2 >> 2
2 -> 00000010 -> 00000000 -> 0
*/
9. 关系运算符(特殊)
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隐式转换为NaN
console.log(Number(undefined)); // NaN
console.log(null == 0); // false
console.log('100' == 100); // true
console.log('100' === 100); // false
10.运算符优先级(特殊)
- .对象成员取值, []数组下标, ()函数调用 优先级别最高
- && 大于 ||
三. 三大主流语句
1. 顺序: 从上到下执行, 从左往右
2. 分支: 单分支, 双分支, 多分支
if(){}
if(){} ... else{}
if(){} ... else if(){} ... else{}
switch(条件表达式) { // 表达式条件为'恒等于'
case 条件1:
// 逻辑代码
break;
...
default:
// 逻辑代码
break; // 这里的break可写可不写
}
3. 循环: for, while, do...while

1 (5).png