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