Параметрҳои функсияи беруна ва дохилӣ дар JavaScript
Биёед тавре созем, ки ҳам функсияи беруна ва ҳам дохилӣ параметр қабул кунанд:
function test(num) {
function func(localNum) {
console.log(localNum);
}
}
Параметрро аз функсияи беруна ба даъвати функсияи дохилӣ мегузаронем:
function test(num) {
function func(localNum) {
console.log(localNum); // 1-ро мебарорад
}
func(num); //!! параметрро мегузаронем
}
test(1); // параметрро ба адад мегузаронем
Малим мешавад, ки дар функсияи дохилӣ
тағйирёбандаи num ҳамчун тағйирёбандаи беруна
аз функсияи волидайн ва тағйирёбандаи
localNum, ки тағйирёбандаи маҳаллии
функсияи дохилӣ мебошад, дастрас хоҳад буд.
Ҳарду ин тағйирёбандаҳо қимати якхела доранд:
function test(num) {
function func(localNum) {
console.log(num); // 1-ро мебарорад
console.log(localNum); // 1-ро мебарорад
}
func(num);
}
test(1);
Фарқи байни онҳо дар он хоҳад буд: агар
дар функсияи дохилӣ тағйирёбандаи
num тағйир дода шавад - он дар функсияи беруна ҳам тағйир хоҳад ёфт:
function test(num) {
function func(localNum) {
num = 2; // тағйирёбандаи num-ро тағйир медиҳем
}
func(num); // параметрро мегузаронем
console.log(num); // 2-ро мебарорад
}
test(1); // параметрро ба адад мегузаронем
Ва тағйирёбандаи localNum маҳаллӣ хоҳад буд.
Тағйироти он ба ягон тағйирот дар
функсияи беруна намеояд. Ва худи
тағйирёбандаи localNum аз беруни
функсияи дохилӣ намоён нахоҳад буд:
function test(num) {
function func(localNum) {
localNum = 2; // тағйирёбандаи num-ро тағйир медиҳем
}
func(num); // параметрро мегузаронем
}
test(1); // параметрро ба адад мегузаронем
Муайян кунед, ки кодро наоғоз карда, чӣ ба консол бароварда мешавад:
function test(num) {
function func(localNum) {
console.log(localNum);
}
func(num);
}
test(1);
Муайян кунед, ки кодро наоғоз карда, чӣ ба консол бароварда мешавад:
function test(num) {
function func(localNum) {
console.log(localNum);
}
func(num + 1);
}
test(1);
Муайян кунед, ки кодро наоғоз карда, чӣ ба консол бароварда мешавад:
function test(num) {
function func(localNum) {
console.log(num);
}
func(num + 1);
}
test(1);
Муайян кунед, ки кодро наоғоз карда, чӣ ба консол бароварда мешавад:
function test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(num);
}
test(1);
Муайян кунед, ки кодро наоғоз карда, чӣ ба консол бароварда мешавад:
function test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(localNum);
}
test(1);
Муайян кунед, ки кодро наоғоз карда, чӣ ба консол бароварда мешавад:
function test(num) {
function func(localNum) {
num = 2;
}
func(num);
console.log(num);
}
test(1);