JavaScript-те бірдей атаулы параметрлер

Енді сыртқы және ішкі функциялардың бірдей атаулы параметрлері бар болсын:

javascriptfunction test(num) {
  function func(num) {
    console.log(num); // 1 шығарады
  }
  
  func(num);
};

test(1);

Бұл жағдайда ішкі функцияда num жергілікті айнымалысы болады. Оны өзгерту ішкі функцияда сыртқы num айнымалысына ешқандай әсер етпейді:

javascriptfunction test(num) {
  function func(num) {
    num = 2; // жергілікті num айнымалысын өзгертеміз
  }
  
  func(num);
  console.log(num); // 1 шығарады - ештеме өзгерген жоқ
}

test(1);

Яғни, ішкі функция сыртқы num айнымалысына оны өзгерту үшін қалай да қол жеткізе алмайды:

javascriptfunction test(num) {
  function func(num) {
    // мұнда сыртқы num айнымалысына қол жеткізу мүмкін емес
  }
  
  func(num);
}
test(1);
Задание 1

Кодты істемеден, консольге не шығарылатынын анықтаңыз:

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

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

Кодты істемеден, консольге не шығарылатынын анықтаңыз:

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

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

Кодты істемеден, консольге не шығарылатынын анықтаңыз:

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

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

Кодты істемеден, консольге не шығарылатынын анықтаңыз:

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

test(1);