⊗jsPmFVNC 220 of 505 menu

Vienodi kintamųjų vardai funkcijose JavaScript

Tarkime, kad ir už funkcijos ribų, ir viduje yra kintamasis num. Šiuo atveju bet kokie pakeitimai su lokaliu kintamuoju num jokiu būdu neveikia globalaus kintamojo num:

let num = 1; // globalus kintamasis function func() { let num = 2; // lokalus kintamasis console.log(num); } func(); // iškviečiame funkciją, išves 2 console.log(num); // išves 1 - globalus kintamasis nepasikeitė

Bet jei pamiršime deklaruoti lokalų kintamąjį num per let, tai funkcijos viduje nesuksis lokalus kintamasis num, o tiesiog bus pakeistas globalus kintamasis:

let num = 1; function func() { num = 2; // pamiršome parašyti let - keičiame išorinį kintamąjį console.log(num); } func(); // iškviečiame funkciją, išves 2 console.log(num); // išves 2 - kintamasis pasikeitė

Čia gali būti dvi situacijos: arba mes tikrai norėjome pakeisti globalų kintamąjį (tada viskas gerai), arba mes pamiršome let ir netyčia pakeitėme globalų kintamąjį.

Antroji situacija yra sunkiai pastebima klaida, vedanti į nenuspėjamą scenarijaus elgesį. Todėl visada, įvedant naują kintamąjį, deklaruokite jį per let.

Nustatykite, nepalydedami kodo, kas bus išvesta į konsolę:

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

Nustatykite, nepalydedami kodo, kas bus išvesta į konsolę:

let num = 1; function func() { let num = 2; } func(); console.log(num);
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti