一行能裝逼的JavaScript代碼

(!(~+[])+{})[--[~+""][+[]]*[~+[]] + ~~!+[]]+({}+[])[[~!+[]]*~+[]]
?一、js運算符的優(yōu)先級


運算符用紅色標出,有一點可能大家會意識不到,其實中括號[]也是一個運算符,用來通過索引訪問數(shù)組項,另外也可以訪問字符串的子字符,有點類似charAt方法,如:’abcd'[1] // 返回’b’。而且中括號的優(yōu)先級還是最高的哦。


[].valueOf()[]
Number("")0
繼續(xù)往上走,子表達式14:[~+[]]
有了9和10,我們來到了子表達式4,此刻它已經(jīng)長這樣了:2+1, 好,我不多說了。
2)、調(diào)用valueOf,返回自身{},
3)、不是原始類型,調(diào)用toString,返回”[object Object]”
4)、false與”[object Object]”相加,false先轉(zhuǎn)化為字符串”false”
5)、相加得結(jié)果”false[object Object]”
如果有人瞧不起js,請把這段代碼發(fā)給他,如果他想知道答案,請把本文發(fā)給他~

評論
圖片
表情
