Duplicar posible:
Can somebody explain this Javascript method ?¿Por qué esta expresión devuelve verdadero?
(x = [].reverse)() === window // true
Cualquier idea de por qué?
Duplicar posible:
Can somebody explain this Javascript method ?¿Por qué esta expresión devuelve verdadero?
(x = [].reverse)() === window // true
Cualquier idea de por qué?
(x=[].reverse)() === window // true
no entendía éste en un primer momento, pero supongo que es fácil: primero x se convierte en la función inversa de matrices, entonces se le llama con
this === window
. Por lo tanto, equivale awindow.reverse()
. Simplemente lo busqué y reverse() funciona en su lugar, por lo quewindow.reverse() === window
- aunque es potencialmente diferente de antes.
me dieron esta respuesta desde este enlace
Al menos enlace a donde lo obtuvo de http://news.ycombinator.com/item?id=1122004 –
Exactamente. '(x = []. reverse)()' es equivalente a 'Array.prototype.reverse.call (null)', lo que significa 'this' for' reverse' será un objeto global, es decir, 'window' – vava
ahora está bien para usted mr.çağdaş – ratty
me parece como la pieza más sin sentido de código que se ha escrito, a menos que en realidad fue escrito como un desafío para la mente. ¿Dónde lo encontraste? –
dupe: http://stackoverflow.com/questions/2261342/can-somebody-explain-this-javascript-method/2261394#2261394 – bobince
@Andy E: Lo vi aquí: http://wtfjs.com/page/ 3 –