Powiel możliwe:
Can somebody explain this Javascript method ?Dlaczego to wyrażenie zwraca wartość true?
(x = [].reverse)() === window // true
Każdy pomysł dlaczego?
Powiel możliwe:
Can somebody explain this Javascript method ?Dlaczego to wyrażenie zwraca wartość true?
(x = [].reverse)() === window // true
Każdy pomysł dlaczego?
(x=[].reverse)() === window // true
nie rozumieli ten jeden na początku, ale myślę, że to jest proste: najpierw x staje się odwrotna funkcja tablic, to nazywa się
this === window
. Tak więc wynosi onawindow.reverse()
. Po prostu sprawdziłem, a reverse() działa na miejscu, więc jest potencjalnie inny niż wcześniej.
dostałem taką odpowiedź z tego linku
Co najmniej link do tego, skąd go masz: http://news.ycombinator.com/item?id=1122004 –
Dokładnie. '(x = []. reverse)()' jest równoważne 'Array.prototype.reverse.call (null)', co oznacza, że 'this' dla' reverse' będzie obiektem globalnym, tzn. 'window' – vava
teraz jest ok dla ciebie mr.çağdaş – ratty
wydaje mi się najbardziej bezsensowną kawałek kodu kiedykolwiek pisemnej, chyba że faktycznie napisany jako łamigłówków. Gdzie to znalazłeś? –
dupe: http://stackoverflow.com/questions/2261342/can-somebody-explain-this-javascript-method/2261394#2261394 – bobince
@Andy E: Widziałem to tutaj: http://wtfjs.com/page/ 3 –