console.log(++[[]][+[]]+[+[]]);
为什么世界上会打印10而不是其他东西......?它让我疯狂了太久。我在阅读以下文章时发现了这一点:
http://tutorialzine.com/2013/12/the-10-weirdest-programming-languages/
也许有人可以提供明确的解决方案。我期待着你们迅速回应所有人。
答案 0 :(得分:3)
您只能使用六个不同的字符来编写和执行任何JS代码。例如,这里是JS构造的一些表示
false => ![]
true => !![]
undefined => [][[]]
NaN => +[![]]
0 => +[]
1 => +!+[]
2 => !+[]+!+[]
10 => [+!+[]]+[+[]]
Array => []
Number => +[]
String => []+[]
Boolean => ![]
Function => []["filter"]
eval => []["filter"]["constructor"]( CODE )()
window => []["filter"]["constructor"]("return this")()
JS F*ck的证明和Why does ++[[]][+[]]+[+[]] return the string "10"?
的详细信息