什么是!+ [] +!+ []在javascript中?

时间:2014-06-18 13:26:10

标签: javascript

您好我正在阅读一篇文章,发现javascript返回2中的以下代码非常奇怪。

!+[]+!+[]

任何人都可以解释一下。

1 个答案:

答案 0 :(得分:6)

将表达式分解为正确的操作顺序,您有:

(!(+[])) + (!(+[]))

首先,[]+投射到一个数字,结果为0。不要问我为什么,它只是这样:p可能埋在规范的某个地方。

!0只是true

所以你最终得到true + true,再次投射到数字,导致1 + 1 = 2

要获得9分,你需要重复9次:

!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[] == 9