【发布时间】:2010-02-20 11:10:41
【问题描述】:
【问题讨论】:
-
在我看来,这是有史以来最无意义的一段代码,除非它实际上是作为脑筋急转弯而编写的。你在哪里找到的?
-
@Andy E:我在这里看到了:wtfjs.com/page/3
标签: javascript duplicates
【问题讨论】:
标签: javascript duplicates
(x=[].reverse)() === window // true
一开始没看懂这个,不过我猜很简单:先x变成数组的逆函数,然后用
this === window调用。所以它等于window.reverse()。刚刚查了一下,reverse() 可以正常工作,所以window.reverse() === window- 虽然它可能与以前不同。
我从这个链接得到了这个答案
【讨论】:
(x=[].reverse)() 等价于Array.prototype.reverse.call(null),这意味着this for reverse 将是全局对象,即window
reverse 实际上并没有检查它是否在数组上被调用。