JavaScriptда глобал ўзгарувчилар ва функция параметрлари
Фарз қилайлик, бизда параметр сифатида сон қабул қиладиган функция бор:
function func(localNum) {
console.log(localNum);
}
Фарз қилайлик, функциядан ташқарида num
ўзгарувчиси бор:
function func(localNum) {
console.log(localNum);
}
let num = 1; // ташқи глобал ўзгарувчи
Келинг, ўз функциямизни чақириб, унга
num ўзгарувчисини параметр сифатида
узатайлик:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num); // функцияни параметр билан чақирамиз, 1 чиқади
Натижада функция ичида ҳам localNum
ўзгарувчиси (функция параметри), ҳам num
ўзгарувчиси (ташқи ўзгарувчи сифатида)
дастурга қулай бўлади:
function func(localNum) {
console.log(num); // 1 чиқади
console.log(localNum); // 1 чиқади
}
let num = 1;
func(num);
localNum ўзгарувчисининг ўзи функциянинг
локал ўзгарувчиси бўлиб, ташқаридан дастурга
қулай бўлмайди:
function func(localNum) {
}
let num = 1;
func(num); // функцияни параметр билан чақирамиз
console.log(localNum); // хато беради
localNum ўзгарувчиси локал бўлгани
учун, унга қилинадиган ҳар қандай ўзгартиришлар
ташқаридаги нарсаларга таъсир қилмайди:
function func(localNum) {
localNum = 2; // ташқаридаги нарсаларга ўзгартирмайди
}
let num = 1;
func(num);
Агар ичида num ўзгарувчисини (глобални)
ўзгартирсак, ўзгартиришлар ташқарида ҳам
кўринади:
function func(localNum) {
num = 2;
}
let num = 1;
func(num);
console.log(num); // 2 чиқади
Бирок, агар функция ичида num
ўзгарувчисини let орқали эълон қилсак,
биз ташқи ўзгарувчига таъсир қилмайдиган
локал num ўзгарувчисини яратамиз:
function func(localNum) {
let num = 2; // let орқали эълон қиламиз
}
let num = 1;
func(num);
console.log(num); // 1 чиқади - ҳеч нарса ўзгармади
Кодни ишлатмасдан, консолда нима чиқишини аниқланг:
function func(localNum) {
console.log(localNum);
}
func(1);
Кодни ишлатмасдан, консолда нима чиқишини аниқланг:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
Кодни ишлатмасдан, консолда нима чиқишини аниқланг:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
num = 2;
Кодни ишлатмасдан, консолда нима чиқишини аниқланг:
let num = 1;
function func(localNum) {
console.log(localNum);
}
num = 2;
func(num);
Кодни ишлатмасдан, консолда нима чиқишини аниқланг:
function func(localNum) {
localNum = 2;
}
let num = 1;
func(num);
console.log(num);
Кодни ишлатмасдан, консолда нима чиқишини аниқланг:
function func(localNum) {
num = 2;
}
let num = 1;
func(num);
console.log(num);
Кодни ишлатмасдан, консолда нима чиқишини аниқланг:
function func(localNum) {
let num = 2;
}
let num = 1;
func(num);
console.log(num);