| item | desc |
|---|---|
| = | 赋值 |
| += | 数字的加等 |
| -= | 数字的减等 |
| *= | 数字的乘等 |
| /= | 数字的除等 |
| %= | 数字的取余等 |
| item | desc |
|---|---|
| + | 数字的加法
字符串的连接 |
| - | 数字的减法 |
| * | 数字的乘法 |
| / | 数字的除法 |
| % | 数字取余/;运算符后面的数字是模 |
| ++ | 自增 |
| -- | 自减 |
console.log(12 + 30);//32
console.log(12 + 'HK');//12HK
console.log("CN" + 'HK');//CNHK
console.log(12 - 30);//-18
console.log(12 * 30);//360
console.log(12 / 30);//0.4 console.log(0 / 0);//NaN console.log(12 / 0);//Infinity console.log(-12 / 0);//-Infinity
console.log(12 % 30);//12 console.log(-12 % 30);//-12
| item | desc |
|---|---|
| < | 小于 |
| > | 大于 |
| ≤ | 小于等于 |
| ≥ | 大于等于 |
| == | 等于 |
| != | 不等于 |
| === | 严格等于 |
| !== | 严格不等于 |
NaN == NaN//false null == null//true
| item | desc |
|---|---|
| && |
逻辑与
也可以写作 AND
求值;用做判断时,根据值决定是真还是假
两个值的情况:先将运算符左边的表达式转化为 Boolean,如果为真,就返回右边的值;如果为假就返回左边的值,又称短路,碰到假就停止
多个值的情况:如果左边为真,就继续往后看;如果还为真,就再继续;如果为假,就停止
undefined、null、NaN、""、''、0、false 转化为 Boolean 后,都为 false
运算符两侧的表达式可以是任何类型,如:根据某个条件,指向相应的动作
|
| || |
逻辑或
也可以写作 OR
求值;判断时,根据值决定是真还是假
执行过程和逻辑与相反。碰到真就返回;因为任何类型和真或都为真,也称断路
|
| ! | 逻辑非 |
res = 1 && 2;//2 res = 0 && 2;//0
res = 1 && 2 && 0 && 12 && 3;//0 res = 0 && 2 && 12 && 23;//0
1 && console.log('hi');//执行打印输出
0 && fn();//不执行函数
res = 1 || 2;//1 res = 0 || 2;//2
res = 1 || 2 || 0 || 12 || 3;//1 res = 0 || 2 || 12 || 23;//2
div.addEventListener('click', (e) => {
let ev = e || window.e;
})
!123//false !!123//true !!NaN//false
console.log(12 instanceof Number);//false
console.log('hi' instanceof String);//false
console.log(true instanceof Boolean);//false
// console.log(null instanceof Null);//warning
// console.log(undefined instanceof Undefined);//warning
console.log(fn instanceof Function);//true
console.log({ name: 'hkc' } instanceof Object);//true
console.log([1, 2] instanceof Array);//true
let fn = num => num * 2;
console.log(typeof 12);//number
console.log(typeof 'hi');//string
console.log(typeof true);//boolean
console.log(typeof null);//object;空对象指针
console.log(typeof undefined);//undefined
console.log(typeof fn);//function
console.log(typeof { name: 'hkc' });//object
console.log(typeof [1, 2]);//object
12 > 18 ? 'yes' : 'no'//no 12 < 18 ? 'yes' : 'no'//yes
let arr = [1, 2, 3, 4, 5] let arr2 = [...arr]