Eventuali duplicati:
Can somebody explain this Javascript method ?Perché questa espressione restituisce true?
(x = [].reverse)() === window // true
Qualsiasi idea del perché?
Eventuali duplicati:
Can somebody explain this Javascript method ?Perché questa espressione restituisce true?
(x = [].reverse)() === window // true
Qualsiasi idea del perché?
(x=[].reverse)() === window // true
non capiva questo in un primo momento, ma credo che sia facile: prima x diventa la funzione di inversione di array, allora è chiamato con
this === window
. Quindi ammonta awindow.reverse()
. Basta guardarlo e reverse() funziona, quindiwindow.reverse() === window
- sebbene sia potenzialmente diverso da prima.
ho avuto questa risposta da questo link
Almeno il link dove l'hai ottenuto da http://news.ycombinator.com/item?id=1122004 –
Esattamente. '(x = []. reverse)()' è l'equivalente di 'Array.prototype.reverse.call (null)', che significa 'questo' per' reverse' sarà l'oggetto globale, ovvero 'window' – vava
ora ok per voi mr.çağdaş – ratty
mi sembra il pezzo più inutile di codice mai scritto, a meno che in realtà è stato scritto come un rompicapo. Dove lo hai trovato? –
dupe: http://stackoverflow.com/questions/2261342/can-somebody-explain-this-javascript-method/2261394#2261394 – bobince
@Andy E: l'ho visto qui: http://wtfjs.com/page/ 3 –