Tajniki jezyka JavaScript Zakresy i domkniecia.pdf
(
1644 KB
)
Pobierz
Tytuł oryginału: You Don't Know JS: Scope & Closures
Tłumaczenie: Robert Górczyński
ISBN: 978-83-283-2177-9
© 2016 Helion S.A.
Authorized Polish translation of the English edition You Don't Know JS: Scope & Closures
ISBN 9781449335588 © 2014 Getify Solutions, Inc.
This translation is published and sold by permission of O’Reilly Media, Inc., which owns or
controls all rights to publish and sell the same.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by
any means, electronic or mechanical, including photocopying, recording or by any
information storage retrieval system, without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu
niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą
kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym,
magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź
towarowymi ich właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce
informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za
ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub
autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności
za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/tjszak
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
•
Kup książkę
•
Poleć książkę
•
Oceń książkę
•
Księgarnia internetowa
•
Lubię to! » Nasza społeczność
Spis treści
Przedmowa ........................................................................................ 5
Wprowadzenie ................................................................................... 7
1. Czym jest zakres? .............................................................................. 13
Teoria kompilatora
Poznajemy zakres
Zakres zagnieżdżony
Błędy
Podsumowanie
13
16
21
24
25
2. Zakres leksykalny ............................................................................. 27
Czas lexingu
Oszukanie zakresu leksykalnego
Podsumowanie
27
30
36
3. Zakres funkcji kontra zakres bloku .................................................... 39
Zakres na podstawie funkcji
Ukrycie w zwykłym zakresie
Funkcja jako zakres
Blok jako zakres
Podsumowanie
39
40
44
49
57
3
Kup książkę
Poleć książkę
4. Hoisting ............................................................................................59
Jajko czy kura?
Powrót kompilatora
Najpierw funkcje
Podsumowanie
59
60
63
65
5. Zakres domknięcia ............................................................................67
Wyjaśnienie
Sedno sprawy
Teraz mogę zobaczyć
Pętle i domknięcia
Moduły
Podsumowanie
67
68
72
74
77
85
A Zakres dynamiczny ...........................................................................87
B Skrypty typu polyfill dla zakresu bloku ..............................................91
Traceur
Niejawne kontra wyraźne bloki
Wydajność
92
93
95
C Leksykalne this .................................................................................97
D Podziękowania ............................................................................... 101
Skorowidz ...................................................................................... 105
4
Spis treści
Kup książkę
Poleć książkę
ROZDZIAŁ 4.
Hoisting
W tym momencie powinieneś już dość dobrze znać ideę zakresu i wiedzieć, jak
zmienne są dołączane na różnych poziomach zakresu w zależności od sposobu
ich zadeklarowania. W przypadku zakresu zarówno funkcji, jak i bloku stosuje
się dokładnie te same reguły — każda zmienna zadeklarowana wewnątrz zakresu
zostaje do niego dołączona.
Jednak istnieje drobny szczegół dotyczący działania mechanizmu dołączania do
zakresu, gdy deklaracje pojawiają się w różnych miejscach zakresu. I tym właśnie
szczegółem zajmiemy się w rozdziale.
Jajko czy kura?
Można by uznać, że cały kod w programie JavaScript jest interpretowany wiersz
po wierszu, od początku do końca w trakcie wykonywania programu. Wprawdzie
pod pewnymi względami to prawda, ale pewna część przedstawionego założenia
może doprowadzić do nieprawidłowych wniosków dotyczących programu.
Spójrz na poniższy fragment kodu:
a = 2;
var a;
console.log( a );
Jakiego wyniku oczekujesz po wykonaniu polecenia
console.log(..)
?
Wielu programistów oczekuje wartości
undefined
, ponieważ polecenie
var
a
znajduje się po operacji przypisania
a = 2
; naturalne wydaje się założenie,
59
Kup książkę
Poleć książkę
Plik z chomika:
PDFator
Inne pliki z tego folderu:
AngularJS Profesjonalne techniki.pdf
(1428 KB)
D3 js w akcji.pdf
(1246 KB)
AngularJS Szybkie wprowadzenie.pdf
(811 KB)
AJAX i JavaScript Tworzenie i optymalizacja aplikacji sieciowych.pdf
(547 KB)
Adobe AIR dla programistow JavaScript Leksykon kieszonkowy.pdf
(371 KB)
Inne foldery tego chomika:
3ds max
Access
Acrobat
After Effects
Agile - Programowanie
Zgłoś jeśli
naruszono regulamin