为什么要提醒(++ [[]] [+ []] + [+ []]);打印10?

时间:2017-07-28 21:51:12

标签: javascript

如果你跑 js中的alert(++[[]][+[]]+[+[]]);代码会提醒10。为什么会这样?这段代码使用什么逻辑?

1 个答案:

答案 0 :(得分:3)

结帐jsfuck.com。这给出了一些示例,并展示了如何使用它编写任何代码。

基础知识:

false       =>  ![]
true        =>  !![]
undefined   =>  [][[]]
NaN         =>  +[![]]
0           =>  +[]
1           =>  +!+[]
2           =>  !+[]+!+[]
10          =>  [+!+[]]+[+[]]
Array       =>  []
Number      =>  +[]
String      =>  []+[]
Boolean     =>  ![]
Function    =>  []["filter"]
eval        =>  []["filter"]["constructor"]( CODE )()
window      =>  []["filter"]["constructor"]("return this")()