⊗jsPmFCPS 273 of 505 menu

Semikols IIFE drošībai

Lai tagad mūsu nekavējoties izsauktā funkcija sākas nevis ar plusu, bet ir ietverta apaļās iekavās, šādi:

(function() { console.log(1); // izvadīs 1 })();

Lai mainīgais num tiek definēts ārpus funkcijas:

let num = 1; // semikols ir ielikts (function() { console.log(num); // izvadīs 1 })();

Lai tagad mēs aizmirsām ielikt semikolu:

let num = 1 (function() { console.log(num); //!! izvadīs kļūdu })();

Izrādās, ka šāds kods izvadīs kļūdu, jo JavaScript uztver mūsu funkciju ka pirmās rindas komandas turpinājumu.

Lai izvairītos no šādām problēmām, pirms nekavējoties izsauktas funkcijas izsaukšanas vienmēr nepieciešams ielikt semikolu, šādi:

let num = 1 ;(function() { console.log(num); // izvadīs 1 })();

Var šķist, ka problēma ir nedaudz mākslīga. Patiesībā, tā nav. Var rasties tāda situācija, ka jūsu lapā tiek pievienoti vairāki skripti no atsevišķiem failiem. Šajā gadījumā viena faila beigās var trūkt semikols, un tas automātiski izraisīs problēmu, ja otrais fails sākas ar nekavējoties izsauktas funkcijas izsaukšanu.

Tāpēc vienmēr-vienmēr lieciet semikolu pirms nekavējoties izsauktas funkcijas izsaukšanas, pat ja jūs pašlaik esat pārliecināts, ka problēmu nebūs. Tās var rasties vēlāk.

Pielietosim iepriekš teikto un izsauksim funkciju nekavējoties, ievietojot sākumā semikolu:

;(function() { console.log(1); // izvadīs 1 })();

Nosakiet, nepalaist kodu, ko izvadīs konsolē:

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

Nosakiet, nepalaist kodu, ko izvadīs konsolē:

let str = 'str' (function() { console.log(1); })();
Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt