JavaScript-də eyniadlı parametrlər

İndi isə xarici və daxili funksiyaların eyniadlı parametrləri olduğunu fərz edək:

javascriptfunction test(num) {
  function func(num) {
    console.log(num); // 1 çap edəcək
  }
  
  func(num);
};

test(1);

Bu halda, daxili funksiyada lokal num dəyişəni olacaq. Onun dəyişdirilməsi daxili funksiyada heç bir şəkildə xarici num dəyişəninə təsir etməyəcək:

javascriptfunction test(num) {
  function func(num) {
    num = 2; // lokal num dəyişənini dəyişirik
  }
  
  func(num);
  console.log(num); // 1 çap edəcək - heç nə dəyişmədi
}

test(1);

Nəticədə, daxili funksiya onu dəyişdirmək üçün heç bir şəkildə xarici num dəyişəninə müraciət edə bilməyəcək:

javascriptfunction test(num) {
  function func(num) {
    // burada xarici num dəyişəninə müraciət etmək mümkün deyil
  }
  
  func(num);
}
test(1);
Задание 1

Kodu işə salmadan müəyyən edin ki, konsola nə çap olunacaq:

javascriptfunction test(num) {
  function func(num) {
    console.log(num);
  }
  
  func(num);
}

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

Kodu işə salmadan müəyyən edin ki, konsola nə çap olunacaq:

javascriptfunction test(num) {
  function func(num) {
    num = 2;
  }
  
  func(num);
  console.log(num);
}

test(1);
Задание 3

Kodu işə salmadan müəyyən edin ki, konsola nə çap olunacaq:

javascriptfunction test(num) {
  function func(num) {
    console.log(num);
  }
  
  num = 2;
  func(num);
}

test(1);
Задание 4

Kodu işə salmadan müəyyən edin ki, konsola nə çap olunacaq:

javascriptfunction test(num) {
  function func(num) {
    console.log(num);
  }
  
  func(num);
  num = 2;
}

test(1);