一行能裝逼的JavaScript代碼
(給前端大學(xué)加星標(biāo),提升前端技能.)
作者:xixi
https://www.cnblogs.com/telnetzhang/p/5629981.html
(!(~+[])+{})[--[~+""][+[]]*[~+[]] + ~~!+[]]+({}+[])[[~!+[]]*~+[]]
?一、js運(yùn)算符的優(yōu)先級(jí)


運(yùn)算符用紅色標(biāo)出,有一點(diǎn)可能大家會(huì)意識(shí)不到,其實(shí)中括號(hào)[]也是一個(gè)運(yùn)算符,用來(lái)通過(guò)索引訪問(wèn)數(shù)組項(xiàng),另外也可以訪問(wèn)字符串的子字符,有點(diǎn)類(lèi)似charAt方法,如:’abcd'[1] // 返回’b’。而且中括號(hào)的優(yōu)先級(jí)還是最高的哦。


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



