Variables globales et paramètres de fonctions en JavaScript

Supposons que nous ayons une fonction prenant un nombre comme paramètre :

javascriptfunction func(localNum) {
  console.log(localNum);
}

Supposons qu'en dehors de la fonction, il y ait une variable num :

javascriptfunction func(localNum) {
  console.log(localNum);
}

let num = 1; // variable globale externe

Appelons notre fonction en lui passant la variable num comme paramètre :

javascriptfunction func(localNum) {
  console.log(localNum);
}

let num = 1;
func(num); // appelons la fonction avec le paramètre, affichera 1

Il en résultera qu'à l'intérieur de la fonction, seront accessibles à la fois la variable localNum (paramètre de la fonction) et la variable num (en tant que variable externe) :

javascriptfunction func(localNum) {
  console.log(num); // affichera 1
  console.log(localNum); // affichera 1
}

let num = 1;
func(num);

La variable localNum elle-même sera une variable locale de la fonction et ne sera pas accessible de l'extérieur :

javascriptfunction func(localNum) {
  
}

let num = 1;
func(num); // appelons la fonction avec le paramètre
console.log(localNum); // générera une erreur

Comme la variable localNum est locale, aucune modification apportée à celle-ci ne changera rien à l'extérieur :

javascriptfunction func(localNum) {
  localNum = 2; // ne change rien à l'extérieur
}

let num = 1;
func(num);

Si, en revanche, on modifie la variable num (globale) à l'intérieur, les changements apparaîtront aussi à l'extérieur :

javascriptfunction func(localNum) {
  num = 2;
}

let num = 1;
func(num);
console.log(num); // affichera 2

Cependant, si nous déclarons la variable num à l'intérieur de la fonction via let, alors nous créerons ainsi une variable locale num, n'affectant en rien la variable externe :

javascriptfunction func(localNum) {
  let num = 2; // déclarons via let
}

let num = 1;
func(num);
console.log(num); // affichera 1 - rien n'a changé
Задание 1

Déterminez, sans exécuter le code, ce qui sera affiché dans la console :

javascriptfunction func(localNum) {
  console.log(localNum);
}

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

Déterminez, sans exécuter le code, ce qui sera affiché dans la console :

javascriptfunction func(localNum) {
  console.log(localNum);
}

let num = 1;
func(num);
Задание 3

Déterminez, sans exécuter le code, ce qui sera affiché dans la console :

javascriptfunction func(localNum) {
  console.log(localNum);
}

let num = 1;
func(num);
num = 2;
Задание 4

Déterminez, sans exécuter le code, ce qui sera affiché dans la console :

javascriptlet num = 1;

function func(localNum) {
  console.log(localNum);
}

num = 2;
func(num);
Задание 5

Déterminez, sans exécuter le code, ce qui sera affiché dans la console :

javascriptfunction func(localNum) {
  localNum = 2;
}

let num = 1;
func(num);
console.log(num);
Задание 6

Déterminez, sans exécuter le code, ce qui sera affiché dans la console :

javascriptfunction func(localNum) {
  num = 2;
}

let num = 1;
func(num);
console.log(num);
Задание 7

Déterminez, sans exécuter le code, ce qui sera affiché dans la console :

javascriptfunction func(localNum) {
  let num = 2;
}

let num = 1;
func(num);
console.log(num);