javascript中數據類型的隱式轉換

(!(~+[])+{})[--[~+""][+[]]*[~+[]]+~~!+[]]+({}+[])[[~!+[]*~+[]]]

一日,在和一位朋友“友好”的就工作問題交流了一波之後,他給我發來了上面的這堆東西。

經控制檯輸出之後……整個人都懵了,怎麼能這麼神奇!!!

下面是解碼時間

這裏寫圖片描述

分析:“+”運算符左右爲獨立部分,所以紅線1、2、3爲一部分,4、5爲另一部分。

逐個部分分析:

1、(!(~+[])+{})

這裏寫圖片描述

2、–[~+”“][+[]]*[~+[]]

這裏寫圖片描述

3、~~!+[]

這裏寫圖片描述

到此左邊部分全部解析出: (!(~+[])+{})[–[~+”“][+[]]*[~+[]]+~~!+[]]

這裏寫圖片描述

4、({}+[])

這裏寫圖片描述

5、[[~!+[]*~+[]]]

這裏寫圖片描述

右邊部分全部解析出:({}+[])[[~!+[]*~+[]]]

這裏寫圖片描述

此間的知識點包含數據類型的隱式轉換操作符“~”

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章