(!(~+[])+{})[--[~+""][+[]]*[~+[]]+~~!+[]]+({}+[])[[~!+[]*~+[]]]
一日,在和一位朋友“友好”的就工作問題交流了一波之後,他給我發來了上面的這堆東西。
經控制檯輸出之後……整個人都懵了,怎麼能這麼神奇!!!
下面是解碼時間
分析:“+”運算符左右爲獨立部分,所以紅線1、2、3爲一部分,4、5爲另一部分。
逐個部分分析:
1、(!(~+[])+{})
2、–[~+”“][+[]]*[~+[]]
3、~~!+[]
到此左邊部分全部解析出: (!(~+[])+{})[–[~+”“][+[]]*[~+[]]+~~!+[]]
4、({}+[])
5、[[~!+[]*~+[]]]
右邊部分全部解析出:({}+[])[[~!+[]*~+[]]]
此間的知識點包含數據類型的隱式轉換和操作符“~”