運算符

加法 +

1、算術(shù)加法
2、字符串連接

a + b.png

減乘除 - * /

都是數(shù)值運算,所有運算子都轉(zhuǎn)為數(shù)值,轉(zhuǎn)不成結(jié)果就是NaN。

比較 > >= < <=

原始值,對象都是比較值


a b.png

相等 == !=

原始值比較值,對象之間比較地址

a == b.png

嚴(yán)格相等 === !==

a === b.png

與 &&

a && b
如果a為true,返回b的值,而不是布爾值
如果a為false,直接返回a的值

var x = 1;
(x -= 1) && (x += 2) // 0
x // 0

x = 1
(x += 1) && (x -= 2) // 0
x // 0

或 ||

a || b
如果a判定為true,則直接返回a的值
如果a判定為false,則返回b的值

位運算 & | ~ ^ << >> >>>

只對整數(shù)起作用。

不是整數(shù)則自動轉(zhuǎn)為32位整數(shù)。
自動規(guī)則:
number, string, boolean -> number or NaN
object - valueOf - toString - number

NaN進(jìn)行位運算的結(jié)果:

NaN | a   // a
NaN & a   // 0
NaN ^ a   // a
~NaN  // -1
~~NaN // 0
NaN << a  // 0
NaN >> a  // 0
NaN >>> a // 0

表達(dá)式:

i = i | 0

功能:將任意的數(shù)據(jù)轉(zhuǎn)換成32位的整數(shù)。

否運算:

~ 3 // -4
~ -3 // 2
~a = b, 且 [a]取整 + b = -1

表達(dá)式:

~~a

功能:將任意的數(shù)據(jù)轉(zhuǎn)換成32位的整數(shù)。最快。

表達(dá)式:

10..toString(2)  // "1010"
(-10).toString(2)  // "-1010"
(-10>>>0).toString(2) // "11111111111111111111111111110110"

功能:查看負(fù)數(shù)數(shù)值二進(jìn)制表示

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容