Тағйирёбандаҳои глобалӣ ва параметрҳои функсияҳо дар JavaScript

Бигзор функсияе дошта бошем, ки параметраш рақамро қабул мекунад:

javascriptfunction func(localNum) {
  console.log(localNum);
}

Бигзор берун аз функсия тағйирёбандаи num мавҷуд бошад:

javascriptfunction func(localNum) {
  console.log(localNum);
}

let num = 1; // тағйирёбандаи глобалии беруна

Биёед функсияамонро фаро бихонем, тағйирёбандаи num-ро ба унвони параметр ба он гузорам:

javascriptfunction func(localNum) {
  console.log(localNum);
}

let num = 1;
func(num); // функсияро бо параметр меномем, 1-ро мебарорад

Натиҷа он мешавад, ки дар дохили функсия ҳам тағйирёбандаи localNum (параметри функсия) ва ҳам тағйирёбандаи num (ҳамчун тағйирёбандаи беруна) дастрас хоҳанд буд:

javascriptfunction func(localNum) {
  console.log(num); // 1-ро мебарорад
  console.log(localNum); // 1-ро мебарорад
}

let num = 1;
func(num);

Худи тағйирёбандаи localNum тағйирёбандаи маҳаллии функсия хоҳад буд ва аз берун дастрас нест:

javascriptfunction func(localNum) {
  
}

let num = 1;
func(num); // функсияро бо параметр меномем
console.log(localNum); // хато медиҳад

Азбаски тағйирёбандаи localNum маҳаллӣ аст, пас ҳеҷ гуна тағйироте дар он чизеро дар берун тағйир намедиҳад:

javascriptfunction func(localNum) {
  localNum = 2; // дар берун чизеро тағйир намедиҳад
}

let num = 1;
func(num);

Агар дар дохил тағйирёбандаи num (глобалиро) тағйир диҳем, пас тағйирот дар берун низ пайдо мешаванд:

javascriptfunction func(localNum) {
  num = 2;
}

let num = 1;
func(num);
console.log(num); // 2-ро мебарорад

Аммо, агар дар дохили функсия тағйирёбандаи num-ро тавассути let эълон кунем, пас мо бо ин роҳ тағйирёбандаи маҳаллии num-ро месозем, ки ба тағйирёбандаи беруна таъсире надорад:

javascriptfunction func(localNum) {
  let num = 2; // тавассути let эълон мекунем
}

let num = 1;
func(num);
console.log(num); // 1-ро мебарорад - чизе тағйир наёфт
Задание 1

Муайян кунед, бидуни онки рамзро оғоз кунед, чӣ ба консол бароварда мешавад:

javascriptfunction func(localNum) {
  console.log(localNum);
}

func(1);
Задание 2

Муайян кунед, бидуни онки рамзро оғоз кунед, чӣ ба консол бароварда мешавад:

javascriptfunction func(localNum) {
  console.log(localNum);
}

let num = 1;
func(num);
Задание 3

Муайян кунед, бидуни онки рамзро оғоз кунед, чӣ ба консол бароварда мешавад:

javascriptfunction func(localNum) {
  console.log(localNum);
}

let num = 1;
func(num);
num = 2;
Задание 4

Муайян кунед, бидуни онки рамзро оғоз кунед, чӣ ба консол бароварда мешавад:

javascriptlet num = 1;

function func(localNum) {
  console.log(localNum);
}

num = 2;
func(num);
Задание 5

Муайян кунед, бидуни онки рамзро оғоз кунед, чӣ ба консол бароварда мешавад:

javascriptfunction func(localNum) {
  localNum = 2;
}

let num = 1;
func(num);
console.log(num);
Задание 6

Муайян кунед, бидуни онки рамзро оғоз кунед, чӣ ба консол бароварда мешавад:

javascriptfunction func(localNum) {
  num = 2;
}

let num = 1;
func(num);
console.log(num);
Задание 7

Муайян кунед, бидуни онки рамзро оғоз кунед, чӣ ба консол бароварда мешавад:

javascriptfunction func(localNum) {
  let num = 2;
}

let num = 1;
func(num);
console.log(num);