JS运算符

2021-02-28  本文已影响0人  Marshall3572

算数运算符

-1 % 7 按理说 === (-1+7)&7 ===6
但实际上=== - 1&7 === -1
string运算符
连接运算'123'+'456' === '123456'
字符串只支持一个符号的运算,就是+
1 + '2' === '12'(这种代码其实是有问题的,但JS就是这么莫名其妙)

==
永远不要使用==,用===替代
==问题在于,他总是自作聪明(自动类型转换)


===
基本类型看值是否相等
对象看地址是否相等
只需记住

使用与运算符判断奇偶
偶数 & 1 === 0
奇数 & 1 === 1

使用~,>>,<<,>>>,|来取整
console.log(~~ 6.83) //6
console.log(6.83 >> 0) //6
console.log(6.83 << 0) //6
console.log(6.83 | 0) //6
console.log(6.83 >>> 0) //6前边补0的右移运算

使用^来交换 a b 的值

var a = 5
var b = 10
a ^= b
b ^= a
a ^= b
console.log(a)  //10
console.log(b)  //5

点运算符
JS有特殊逻辑,.前边不是对象,就把他封装成对象。
number会变成Number对象
string会变成String对象
bool会变成Boolean对象
永远不要用这三种对象

运算符优先级

汇总表位于MDN
圆括号优先级最高

上一篇 下一篇

猜你喜欢

热点阅读