Variables globales et paramètres de fonctions en JavaScript
Supposons que nous ayons une fonction prenant un nombre comme paramètre :
function func(localNum) {
console.log(localNum);
}
Supposons qu'en dehors de la fonction, il y ait une variable num :
function func(localNum) {
console.log(localNum);
}
let num = 1; // variable globale externe
Appelons notre fonction en lui passant
la variable num comme paramètre :
function 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) :
function 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 :
function 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 :
function 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 :
function 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 :
function func(localNum) {
let num = 2; // déclarons via let
}
let num = 1;
func(num);
console.log(num); // affichera 1 - rien n'a changé
Déterminez, sans exécuter le code, ce qui sera affiché dans la console :
function func(localNum) {
console.log(localNum);
}
func(1);
Déterminez, sans exécuter le code, ce qui sera affiché dans la console :
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
Déterminez, sans exécuter le code, ce qui sera affiché dans la console :
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
num = 2;
Déterminez, sans exécuter le code, ce qui sera affiché dans la console :
let num = 1;
function func(localNum) {
console.log(localNum);
}
num = 2;
func(num);
Déterminez, sans exécuter le code, ce qui sera affiché dans la console :
function func(localNum) {
localNum = 2;
}
let num = 1;
func(num);
console.log(num);
Déterminez, sans exécuter le code, ce qui sera affiché dans la console :
function func(localNum) {
num = 2;
}
let num = 1;
func(num);
console.log(num);
Déterminez, sans exécuter le code, ce qui sera affiché dans la console :
function func(localNum) {
let num = 2;
}
let num = 1;
func(num);
console.log(num);