Nie Redundancja nie jest konieczna. Zaleca się użycie deklaracji w zakresie plików lub strumienia, szczególnie jeśli używane są biblioteki stron trzecich. Pomaga zdecydować, czy używać ich tak jak jest, owijać je lub przekazywać za ich pomocą.
poziomie plików na własny wykonujące funkcje
To staje się coraz bardziej powszechne, aby zobaczyć pliki lub całe strumienie na własny wykonywania zamknięć. W takich przypadkach deklaracja użycia trybu ścisłego (powyżej) jest umieszczana w pierwszym wierszu zamknięcia, gdzie ... jest.
(function() {
...
}())
Może to być przydatne wspomnieć, że samo-realizacji nie zawsze jest konieczne i może spowodować powolny obciążenia i inne problemy, jeśli nadużywane.
Więcej na Zakresie Deklaracji
Zakres zależy od tego, czy umieścić deklarację wewnątrz lub na zewnątrz funkcji i ma zastosowanie do wszystkich oświadczeń następujących deklaracji w zakresie zamknięcia za.
Użycie deklaracji wewnątrz funkcji jest niewłaściwym sposobem wykonania tego zadania, jeśli cały plik lub strumień jest już zgodny z bardziej rygorystycznym trybem lub można go łatwo wprowadzić. Nadmiarowość nie jest konieczna, dlatego zalecanym zastosowaniem jest umieszczenie deklaracji na górze pliku lub początku strumienia.
Czasami tylko niektóre funkcje są zgodne z bardziej rygorystycznymi zasadami. W takich przypadkach mniej pożądany zakres funkcji deklaracji może być użyty w celu popienienia lepszych praktyk kodowania przynajmniej w funkcjach, które już spełniają.
Dlaczego tryb ścisły w ogóle?
Tryb ścisły eliminuje pewne permisywne parsowanie języka i cechy wykonania uważane za mniej pożądane z punktu widzenia projektowania języka. Te nieostre cechy języka trybu zostały uznane za ostrożne jako zachowanie domyślne dla zgodności wstecznej. Streszczenie i szczegóły znajdują się tutaj.
To nie jest jednoznacznie określone, kiedy i czy te starsze cechy językowe od początku Netscape dni będzie przestarzała czy tryb ścisły staną się domyślne zachowanie w różnych przeglądarkach w pewnym momencie , ale bardziej restrykcyjny model prawdopodobnie będzie źródłem mniej dwuznacznego i ryzykownego źródła. Jeśli chcesz poprawić łatwość obsługi, przenośność i rozszerzalność w praktyce kodowania i bazach kodów, dobrym wyborem jest tryb ścisły.
UWAGA Dla tych, którzy przyjeżdżają tu z "What's the benefit of using "function() 'use strict'” in every file?"
można umieścić
"use strict";
na górze sekwencji kodu lub wewnątrz funkcji, więc jest tylko jedna linia kodu za plik lub za funkcję.
Pozostałe wiersze kodu mają inne cele w kodzie here.
- funkcja Self-Wywoływanie
- Fabryka inwokacja
Niektóre miejsce cały plik w samodzielnym wykonywaniu funkcji, ale to nie jest konieczne w każdym przypadku.
Krótka odpowiedź, tak! –