Нуқтаи вергул барои бехатарии дар 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);
})();