⊗jsPmFCPS 273 of 505 menu

Punct și virgulă pentru siguranță în IIFE

Să presupunem că funcția noastră executată imediat nu începe cu un plus, ci este încadrată în paranteze rotunde, astfel:

(function() { console.log(1); // va afișa 1 })();

Să presupunem că variabila num este definită în afara funcției:

let num = 1; // punct și virgulă este prezent (function() { console.log(num); // va afișa 1 })();

Să presupunem acum că am uitat să punem punct și virgulă:

let num = 1 (function() { console.log(num); //!! va arunca o eroare })();

Rezultă că un astfel de cod va arunca o eroare, deoarece JavaScript percepe funcția noastră ca o continuare a comenzii din prima linie.

Pentru a evita astfel de probleme, înaintea apelului funcției executate imediat este întotdeauna necesar să se pună punct și virgulă, astfel:

let num = 1 ;(function() { console.log(num); // va afișa 1 })();

Poate părea că problema este oarecum artificială. De fapt, nu este așa. Poate exista o situație în care pe pagina dvs. sunt conectate mai multe scripturi din fișiere separate. În acest caz, la sfârșitul unui fișier poate fi omis punctul și virgula și acest lucru automat va duce la o problemă dacă al doilea fișier începe cu un apel al unei funcții executate imediat.

Prin urmare, întotdeauna-puneți punct și virgulă înaintea apelului funcției executate imediat, chiar dacă sunteți siguri în momentul de față că nu vor fi probleme. Ele pot apărea mai târziu.

Să aplicăm cele menționate mai sus și să apelăm funcția executată imediat, punând la început punct și virgulă:

;(function() { console.log(1); // va afișa 1 })();

Stabiliți, fără a rula codul, ce se va afișa în consolă:

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

Stabiliți, fără a rula codul, ce se va afișa în consolă:

let str = 'str' (function() { console.log(1); })();
Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge