Նույնանուն պարամետրերը 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);