⊗jsPmFCPS 273 of 505 menu

IIFE da xavfsizlik uchun nuqta-vergul

Endi joyida chaqiraladigan funksiyamiz boshida ortiqcha belgi bilan emas, balki qavs ichiga olingan bo‘lsin, mana bunday:

(function() { console.log(1); // 1 ni chiqaradi })();

num o‘zgaruvchisi funksiyadan tashqarida aniqlansin:

let num = 1; // nuqta-vergul qo‘yilgan (function() { console.log(num); // 1 ni chiqaradi })();

Endi faraz qilaylik, nuqta-vergul qo‘yishni unutdik:

let num = 1 (function() { console.log(num); //!! xatolik beradi })();

Ma'lum bo‘ladiki, bunday kod xatolik beradi, chunki JavaScript bizning funksiyamizni birinchi qator buyrug‘ining davomi sifatida qabul qiladi.

Bunday muammolarning oldini olish uchun, funksiyani joyida chaqirishdan oldin har doim nuqta-vergul qo‘yish kerak, mana bunday:

let num = 1 ;(function() { console.log(num); // 1 ni chiqaradi })();

Muammo biroz sun'iy ko‘rinadi. Aslida, bu shunday emas. Vaziyat shunday bo‘lishi mumkinki, sahifangizda alohida fayllardan bir nechta skript ulanadi. Bu holda bir faylning oxirida nuqta-vergul qo‘yilmagan bo‘lishi mumkin va bu avtomatik ravishda muammoga olib keladi, agar ikkinchi fayl funksiyani joyida chaqirish bilan boshlansa.

Shuning uchun, funksiyani joyida chaqirishdan oldin har doim, har doim nuqta-vergul qo‘ying, hatto hozirda muammo bo‘lmasligiga ishonchingiz komil bo‘lsa ham. Ular keyin paydo bo‘lishi mumkin.

Yuqorida aytilganlarni qo‘llaymiz va funksiyani joyida chaqiramiz, boshida nuqta-vergul qo‘ygan holda:

;(function() { console.log(1); // 1 ni chiqaradi })();

Kodni ishlamasdan, konsolga nima chiqishini aniqlang:

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

Kodni ishlamasdan, konsolga nima chiqishini aniqlang:

let str = 'str' (function() { console.log(1); })();
Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish