Գլոբալ փոփոխականներ և ֆունկցիաների պարամետրերը 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);