⊗jsPmFCPS 273 of 505 menu

IIFE да учун хавфсизлик нуқта-вергули

Энди бизнинг жойида чақирилаётган функция бошланишида плюс билан эмас, балки қавслар билан ўралган бўлсин, мана бу йўл билан:

(function() { console.log(1); // 1 ни чиқаради })();

num ўзгарувчиси функциядан ташқарида берилсин:

let num = 1; // нуқта-вергули турмоқда (function() { console.log(num); // 1 ни чиқаради })();

Энди биз нуқта-вергулини қўйишни унутганмиз деб фараз қилайлик:

let num = 1 (function() { console.log(num); //!! хатолик берadi })();

Маълум бўладики, бундай код хатолик беради, чунки JavaScript бизнинг функциямизни биринчи сатр буйруғининг давоми деб ҳисоблайди.

Бундай муаммолардан қочиш учун, функцияни жойида чақиришдан олдин ҳар доим нуқта-вергулини қўйиш керак, мана бу йўл билан:

let num = 1 ;(function() { console.log(num); // 1 ни чиқаради })();

Муаммо бир оз сунъий кўриниши мумкин. Аслида, бундай эмас. Сизнинг саҳифангизда турли файллардан бир нечта скрипт уланган бўлиши мумкин. Бундай ҳолатда, бир файлнинг охирида нуқта-вергули қолдирилиб қўйилиши ва иккинчи файл функцияни жойида чақириш билан бошланса, автомат равишда муаммога олиб келади.

Шу сабабдан, ҳар доим-ҳар доим функцияни жойида чақиришдан олдин нуқта-вергулини қўйинг, ҳатто айни пайтда сиз муаммо бўлмайди деб ишонchingiz бор бўлса ҳам. Улар кейин пайдо бўлиши мумкин.

Юқорида айтилганларни қўллаймиз ва функцияни жойида чақириб, бошланишида нуқта-вергулини қўйамиз:

;(function() { console.log(1); // 1 ни чиқаради })();

Кодни ишга туширмасдан, консолга нима чиқарилишини аниқланг:

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

Кодни ишга туширмасдан, консолга нима чиқарилишини аниқланг:

let str = 'str' (function() { console.log(1); })();
Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш