Тағйирёбандаҳои глобалӣ ва параметрҳои функсияҳо дар 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);