Parameters met dieselfde naam in JavaScript

Laat ons nou aanneem dat die eksterne en interne funksie parameters met dieselfde naam het:

javascriptfunction test(num) {
  function func(num) {
    console.log(num); // sal 1 uitvoer
  }
  
  func(num);
};

test(1);

In hierdie geval sal die interne funksie 'n plaaslike veranderlike num hê. Die verandering daarvan in die interne funksie sal geen invloed hê op die eksterne veranderlike num nie:

javascriptfunction test(num) {
  function func(num) {
    num = 2; // verander die plaaslike veranderlike num
  }
  
  func(num);
  console.log(num); // sal 1 uitvoer - niks het verander nie
}

test(1);

Die gevolg is dat die interne funksie op geen manier by die eksterne veranderlike num kan uitkom om dit te verander nie:

javascriptfunction test(num) {
  function func(num) {
    // hier kan jy nie toegang tot die eksterne veranderlike num kry nie
  }
  
  func(num);
}
test(1);
Задание 1

Bepaal, sonder om die kode uit te voer, wat in die konsole uitgeskryf sal word:

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

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

Bepaal, sonder om die kode uit te voer, wat in die konsole uitgeskryf sal word:

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

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

Bepaal, sonder om die kode uit te voer, wat in die konsole uitgeskryf sal word:

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

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

Bepaal, sonder om die kode uit te voer, wat in die konsole uitgeskryf sal word:

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

test(1);