鍍金池/ 問答/網(wǎng)絡安全  HTML/ 【JS與運算問題】 使用 typeof 12 & 0X04 結果為 0

【JS與運算問題】 使用 typeof 12 & 0X04 結果為 0 ?

環(huán)境: chrome瀏覽器

問題: 使用 typeof 12 & 0X04 , 期待是一個 'number' 返回值, 結果卻為 0.

PS: 如果我使用typeof (12 & 0X04), 那個將會返回一個 number.

其中原因為何, 期待有人解釋一下?

同理:
為什么 12 & 4 === 4 返回的結果為 0, 而 (12 & 4) === 4 返回為 true

回答
編輯回答
拽很帥

& 是運算符,它的優(yōu)先級低于命令 typeof。簡單說:typeof 12 & 0x04 相當于 (typeof 12) & 0x04

2017年8月3日 17:44
編輯回答
舊螢火

因為位運算符'&'的算符優(yōu)先級很低

2018年4月1日 08:35
編輯回答
溫衫

邏輯運算符,兩邊先運算,而不是順序運算,優(yōu)先級不一樣

具體的優(yōu)先級可以看運算符優(yōu)先級

2017年4月5日 22:25
編輯回答
萌吟
//優(yōu)先級見下圖
typeof 12 & 0X04 => (typeof 12) & 0X04 => "number" & 0X04 => 0
12 & 4 === 4 => 12 & (4 === 4) => 12 & "true" => 0

圖片描述

2017年5月1日 09:08