⊗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); //!! қате береді })();

Мұндай код JavaScript біздің функциямызды бірінші жолдың командасының жалғасы ретінде қабылдайтындықтан, қате береді.

Мұндай проблемалардан аулақ болу үшін, функцияны орнында шақырмас бұрын әрқашан нүктелі үтір қою керек, мынаған ұқсас:

let num = 1 ;(function() { console.log(num); // 1 шығарады })();

Проблема біршама жасанды сияқты көрінуі мүмкін. Шындығында, олай емес. Сізде бірнеше скрипт бөлек файлдардан қосылатын жағдай болуы мүмкін. Бұл жағдайда бір файлдың соңында нүктелі үтір қалдырылуы мүмкін және бұл екінші файл орнында шақырылатын функциядан басталса, проблемаға автоматты түрде әкеп соғады.

Сондықтан, функцияны орнында шақырмас бұрын әрқашан-әрқашан нүктелі үтір қойыңыз, тіпті сіз сол сәтте проблемалар болмайды деп сенсеңіз де. Олар кейін пайда болуы мүмкін.

Жоғарыда айтылғандарды қолданып, функцияны орнында шақырайық, басына нүктелі үтір қойып:

;(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çeЎзбекOʻzbekTiếng Việt
Біз сайттың жұмысы, аналитика және персонализация үшін cookie файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау