0
我最近簽出了一個JavaScript混淆的指南。本指南中有幾個簡單的步驟。我可以理解$ = []
是一個空數組,我可以理解爲什麼$=[$=[]];
$變成0後,但我不明白爲什麼在添加!$
(false)和$
(零)後我們得到「false」字符串。 任何人都可以解釋這個給我嗎?瞭解javascript混淆
在此先感謝。
我最近簽出了一個JavaScript混淆的指南。本指南中有幾個簡單的步驟。我可以理解$ = []
是一個空數組,我可以理解爲什麼$=[$=[]];
$變成0後,但我不明白爲什麼在添加!$
(false)和$
(零)後我們得到「false」字符串。 任何人都可以解釋這個給我嗎?瞭解javascript混淆
在此先感謝。
我可以理解爲什麼$ = [$ = []]; $變爲0
不,它不。 $
變成[[]]
,即空陣列的陣列。
我不明白爲什麼加入後
!$
(假)和$
(零),我們得到「假」串
你就是不聽。但你的前提是錯誤的。當添加false
和[[]]
但是你在一個布爾值和對象,這將導致字符串連接使用+
operator:
> $ = [[]];
> String(!$)
"false"
> String($)
""
> !$+$
"false"
'$ = $ = []'是一樣的'$ = [ ]。 $ = [$]',即'$ = [[]]''。 – kay 2014-09-24 18:29:04
'!$ + $ == false + [[]] == toString(false)+ toString([[]])==「false」+「」==「false」 – georg 2014-09-24 19:13:48