鍍金池/ 問答/HTML/ 為什么{}+''等于0?

為什么{}+''等于0?

具體執(zhí)行如圖

clipboard.png

初步懷疑是不是右側(cè)空字符串轉(zhuǎn)換為0?

回答
編輯回答
慢半拍

運(yùn)算符 + 在作為一元運(yùn)算符的時候,如果它的操作數(shù)不是數(shù)值,它會將其轉(zhuǎn)換為數(shù)值。
你也許奇怪這里 + 前面明明有一個空對象({})為什么會把 + 解釋成一元運(yùn)算符?是因?yàn)樵谶@種情況下,前面的 {} 并不是 空對象了,而是 空代碼塊(empty code block)。

2017年7月10日 18:38
編輯回答
雅痞

這個是js的數(shù)據(jù)類型默認(rèn)轉(zhuǎn)化,你的懷疑是對的 但是中間經(jīng)過拉幾個js的方法轉(zhuǎn)化

2017年7月9日 05:28