⊗jsPmFCPS 273 of 505 menu

Średnik dla bezpieczeństwa w IIFE

Niech teraz nasza funkcja wywołująca się od razu będzie nie z plusem na początku, ale opakowana w okrągłe nawiasy, w ten sposób:

(function() { console.log(1); // wypisze 1 })();

Niech zmienna num będzie ustawiona na zewnątrz funkcji:

let num = 1; // średnik jest (function() { console.log(num); // wypisze 1 })();

Załóżmy teraz, że zapomnieliśmy postawić średnika:

let num = 1 (function() { console.log(num); //!! zwróci błąd })();

Okazuje się, że taki kod zwróci błąd, ponieważ JavaScript postrzega naszą funkcję jako kontynuację polecenia z pierwszej linii.

Aby uniknąć takich problemów, przed wywołaniem funkcji od razu zawsze należy stawiać średnik, w ten sposób:

let num = 1 ;(function() { console.log(num); // wypisze 1 })();

Wydaje się, że problem jest nieco naciągany. W rzeczywistości tak nie jest. Może zaistnieć taka sytuacja, że na Twojej stronie podłączonych jest kilka skryptów z osobnych plików. W tym przypadku na końcu jednego pliku może brakować średnika i to automatycznie doprowadzi do problemu, jeśli drugi plik zaczyna się od wywołania funkcji od razu.

Dlatego, zawsze-zawsze stawiaj średnik przed wywołaniem funkcji od razu, nawet jeśli w danym momencie jesteś pewien, że problemów nie będzie. Mogą one pojawić się później.

Zastosujmy powyższe i wywołajmy funkcję od razu, stawiając na początku średnik:

;(function() { console.log(1); // wypisze 1 })();

Określ, bez uruchamiania kodu, co zostanie wypisane w konsoli:

let str = 'str'; (function() { console.log(1); })();

Określ, bez uruchamiania kodu, co zostanie wypisane w konsoli:

let str = 'str' (function() { console.log(1); })();
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć