⊗jsPmFVNC 220 of 505 menu

JavaScriptда функциялардаги ўзгарувчиларнинг бир хил номлари

Функциянинг ташқарисида ҳам, ичида ҳам num ўзгарувчиси мавжуд бўлсин. Бундай ҳолда, num локал ўзгарувчиси билан амалга оширилган ҳар қандай ўзгартиришлар num глобал ўзгарувчисига ҳеч қандай таъсир кўрсатмайди:

let num = 1; // глобал ўзгарувчи function func() { let num = 2; // локал ўзгарувчи console.log(num); } func(); // функцияни чақирамиз, 2 чиқади console.log(num); // 1 чиқади - глобал ўзгарувчи ўзгармади

Аммо, агар биз let ёзишни унутсак, num локал ўзгарувчиси функция ичида яратилмайди, балки глобал ўзгарувчи ўзгартирилади:

let num = 1; function func() { num = 2; // let ёзиш унутилди - ташқи ўзгарувчи ўзгартирилади console.log(num); } func(); // функцияни чақирамиз, 2 чиқади console.log(num); // 2 чиқади - ўзгарувчи ўзгарди

Бу ерда иккита вазият бўлиши мумкин: ёки биз глобал ўзгарувчини ўзгартиришни чиндан хохлаган бўламиз (унда ҳаммаси яхши), ёки биз let ёзишни унутиб, тасодифан глобал ўзгарувчини ўзгартириб қўйган бўламиз.

Иккинчи вазият скриптнинг оғдибоҳ ҳаракатига олиб келадиган, аниқлаш қийин бўлган хатодир. Шунинг учун, доим янги ўзгарувчи киритганда, уни let орқали эълон қилинг.

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

let num = 1; function func() { num = 2; } func(); console.log(num);

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

let num = 1; function func() { let num = 2; } func(); console.log(num);
Ўзбек
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
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш