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);