Можно создать дубликат:
Can somebody explain this Javascript method ?Почему это выражение возвращает true?
(x = [].reverse)() === window // true
Любая идея, почему?
Можно создать дубликат:
Can somebody explain this Javascript method ?Почему это выражение возвращает true?
(x = [].reverse)() === window // true
Любая идея, почему?
(x=[].reverse)() === window // true
Не понял, это один в первом, но я предполагаю, что это легко: первый х становится обратной функцией массивов, то он вызывается с
this === window
. Таким образом, он составляетwindow.reverse()
. Просто посмотрел на него, и reverse() работает на месте, поэтомуwindow.reverse() === window
- хотя он потенциально отличается от предыдущего.
Я получил этот ответ от этой ссылке
По крайней мере, ссылка на сайт, где вы его получили http://news.ycombinator.com/item?id=1122004 –
Точно. '(x = []. reverse)()' равнозначно 'Array.prototype.reverse.call (null)', что означает, что 'this' для' reverse' будет глобальным объектом, то есть 'window' – vava
теперь его нормально для вас mr.çağdaş – ratty
Кажется мне, как самый бессмысленный кусок кода когда-либо написанных, если она не была написана как тизер мозга. Где вы его нашли? –
dupe: http://stackoverflow.com/questions/2261342/can-somebody-explain-this-javascript-method/2261394#2261394 – bobince
@ Andy E: Я видел это здесь: http://wtfjs.com/page/ 3 –