⊗jsPmFCPS 273 of 505 menu

Podpičje za varnost v IIFE

Naj bo naša takoj klicana funkcija ne z plusom na začetku, ampak ovita z okroglimi oklepaji, takole:

(function() { console.log(1); // izpiše 1 })();

Naj bo spremenljivka num definirana zunaj funkcije:

let num = 1; // podpičje je postavljeno (function() { console.log(num); // izpiše 1 })();

Recimo, da smo pozabili postaviti podpičje:

let num = 1 (function() { console.log(num); //!! vrne napako })();

Izkazalo se je, da bo takšna koda vrnila napako, ker JavaScript našo funkcijo dojema kot nadaljevanje ukaza prve vrstice.

Da se izognemo takšnim težavam, je treba pred klicem funkcije na mestu vedno postaviti podpičje, takole:

let num = 1 ;(function() { console.log(num); // izpiše 1 })();

Zdi se, da je problem nekoliko narejen. Pravzaprav ni tako. Lahko pride do takšne situacije, da na vaši strani povezujete več skript iz ločenih datotek. V tem primeru je lahko na koncu ene datoteke izpuščeno podpičje in to samodejno povzroči težavo, če se druga datoteka začne s klicem funkcije na mestu.

Zato vedno-vedno postavite podpičje pred klicem funkcije na mestu, tudi če ste trenutno prepričani, da težav ne bo. Te se lahko pojavijo kasneje.

Uporabimo zgoraj povedano in pokličimo funkcijo na mestu, tako da na začetku postavimo podpičje:

;(function() { console.log(1); // izpiše 1 })();

Določite, brez zaganjanja kode, kaj se bo izpisalo v konzolo:

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

Določite, brez zaganjanja kode, kaj se bo izpisalo v konzolo:

let str = 'str' (function() { console.log(1); })();
Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni