ერთსახელა პარამეტრები 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);