Jestem nowy w Javascript. Uczę się pojęcia podnoszenia w JavaScript.
Na podstawie samouczków Javacsript na stronie Mozilli natknąłem się na to słowo hoisting
. Zgodnie z tymi samouczkami zmiennymi w JavaScript jest to, że można odwoływać się do zmiennej zadeklarowanej później, bez uzyskiwania wyjątku . Ale moje pytanie dotyczy tego, w jakich okolicznościach należy używać podnoszenia w javascript po stronie klienta lub dlaczego powinniśmy używać podnoszenia w javascript. Jakie są jego zalety.
javascript
Rudra
źródło
źródło
Odpowiedzi:
Nigdy nie słyszałem o użyciu słowa „podnoszenie”. Jeśli masz na myśli to użycie podnoszenia przez Ben Cherry: http://www.adequatelygood.com/JavaScript-Scoping-and-Hoisting.html , to z tego, co mogę zebrać, po prostu przypomina Douglasa Crockforda z Javascript: Dobre części i mówiąc, że nigdy nie należy używać podnoszenia . Na koniec twierdzi, że wszystkie zmienne powinny być deklarowane na górze twojej funkcji (jak sugerują Crockford i JSLint).
Lub, jak mówi pan ChristopherBrown, nie jest to funkcja do użycia , per-say, ale po prostu dziwactwo związane z tym, jak przeglądarka interpretuje Javascript.
Krótko mówiąc: nigdy i nigdzie .
źródło
Podnoszenie opisuje funkcję interpretacji Javascript przez przeglądarkę i nie jest zbyt dużą opcją do użycia.
Podczas interpretacji Javascript przeglądarki przeglądają zmienne na poziomie funkcji na początku funkcji. Przykład:
W opublikowanym kodzie obie zmienne „dwa” i „wynik” istnieją na początku zakresu funkcji (oczywiście, ponieważ są tam deklarowane). Ponieważ jednak przeglądarki „podnoszą” zmienne, poniższy kod staje się legalnym kodem Javascript .
Efektem netto jest to, że masz zmienne w użyciu, zanim je zadeklarujesz, co może powodować zamieszanie, szczególnie w przypadku zmiennych o zasięgu globalnym. Przykład:
Aby uniknąć nieporozumień, zadeklaruj swoje zmienne na górze funkcji.
źródło
Dlaczego?
JavaScript nie ma zakresu bloków , co powinno wyjaśniać, dlaczego rzeczy powinny się wznosić na szczyt.
To jest użyteczne?
Jeśli wolisz to:
Zamiast tego:
To jest przydatne. Nawet jeśli tego nie zauważysz!
Wyjaśnienie
Pierwszy przykład przełoży się na coś takiego:
źródło