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);