JavaScript-de funksiýalarda deňişýän üýtgeýänleriň adynyň degişliligi
Funksiýanyň daşynda-da, içinde-de bolsa
num üýtgeýäni bolsun. Bu ýagdaýda
lokal num üýtgeýäni bilen haýsydyr bir
üýtgetme global num üýtgeýänine hiç hili
tesir etmeýär:
let num = 1; // global üýtgeýän
function func() {
let num = 2; // lokal üýtgeýän
console.log(num);
}
func(); // funksiýa çagyrylýar, 2 çap ediler
console.log(num); // 1 çap ediler - global üýtgeýän üýtgedilmedi
Emma, lokal num üýtgeýänini
let arkaly yglan etmegi ýadyňyzdan çykarsaňyz,
onda funksiýanyň içinde lokal num üýtgeýäni
döredilmeýär, diňe global üýtgeýän üýtgediler:
let num = 1;
function func() {
num = 2; // let ýazmagy ýadyňyzdan çykardyňyz - daşky üýtgeýäni üýtgedýäris
console.log(num);
}
func(); // funksiýa çagyrylýar, 2 çap ediler
console.log(num); // 2 çap ediler - üýtgeýän üýtgedildi
Bu ýerde iki ýagdaý bolup bilýär: ýa-da biz hakykatdanam
global üýtgeýäni üýtgetmek isledik (onda
hemmesi gowy), ýa-da biz let ýazmagy ýadyňyzdan çykardyk
we bäşdüşünje global üýtgeýäni üýtgetdik.
Ikinji ýagdaý skriptiň öň görülmeýän hereketine getirýän
tapuňly kyn ýalňyşlykdyr.
Şonuň üçin her gezek täze üýtgeýäni girizen wagtyňyzda
ony let arkaly yglan ediň.
Kody işletmezden öň, konsolda näme çap ediljekdigini kesgitleň:
let num = 1;
function func() {
num = 2;
}
func();
console.log(num);
Kody işletmezden öň, konsolda näme çap ediljekdigini kesgitleň:
let num = 1;
function func() {
let num = 2;
}
func();
console.log(num);