Ārējo un iekšējo funkciju parametri JavaScript

Darīsim tā, lai gan ārējā funkcija gan iekšējā pieņemtu parametrus:

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

Padodam ārējās funkcijas parametru iekšējās funkcijas izsaukumā:

javascriptfunction test(num) {
  function func(localNum) {
    console.log(localNum); // izvadīs 1
  }
  
  func(num); //!! padodam parametru
}

test(1); // padodam parametru skaitli

Izrādās, ka iekšējā funkcijā būs pieejams mainīgais num kā ārējais mainīgais no vecāka funkcijas un mainīgais localNum, kas ir iekšējās funkcijas lokālais mainīgais.

Abiem šiem mainīgajiem būs vienādas vērtības:

javascriptfunction test(num) {
  function func(localNum) {
    console.log(num); // izvadīs 1
    console.log(localNum); // izvadīs 1
  }
  
  func(num);
}

test(1);

Atšķirība starp tiem būs sekojoša: ja iekšējā funkcijā mainīsiet mainīgo num - tas mainīsies arī ārējā funkcijā:

javascriptfunction test(num) {
  function func(localNum) {
    num = 2; // mainām mainīgo num
  }
  
  func(num);   // padodam parametru
  console.log(num);  // izvadīs 2
}

test(1); // padodam parametru skaitli

Bet mainīgais localNum būs lokāls. Tā izmaiņas neizraisīs nekādas izmaiņas ārējā funkcijā. Un pats mainīgais localNum nebūs redzams ārpus iekšējās funkcijas:

javascriptfunction test(num) {
  function func(localNum) {
    localNum = 2; // mainām mainīgo num
  }
  
  func(num); // padodam parametru
}

test(1); // padodam parametru skaitli
Задание 1

Nosakiet, nepalaist kodu, ko izvadīs konsole:

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

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

Nosakiet, nepalaist kodu, ko izvadīs konsole:

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

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

Nosakiet, nepalaist kodu, ko izvadīs konsole:

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

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

Nosakiet, nepalaist kodu, ko izvadīs konsole:

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

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

Nosakiet, nepalaist kodu, ko izvadīs konsole:

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

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

Nosakiet, nepalaist kodu, ko izvadīs konsole:

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

test(1);