⊗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 - глабальная зменная не змянілася

Але, калі мы забудзем аб'явіць лакальную зменную num праз 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çeЎзбекOʻzbekTiếng Việt
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць