Parametrii funcțiilor externe și interne în JavaScript
Să facem astfel încât atât funcția externă cât și cea internă să accepte parametri:
javascriptfunction test(num) {
function func(localNum) {
console.log(localNum);
}
}
Să transmitem parametrul funcției externe în apelul funcției interne:
javascriptfunction test(num) {
function func(localNum) {
console.log(localNum); // va afișa 1
}
func(num); //!! transmitem parametrul
}
test(1); // transmitem ca parametru numărul
Rezultă că în funcția internă va fi
accesibilă variabila num ca variabilă
externă din funcția părinte și variabila
localNum, fiind variabilă locală a
funcției interne.
Ambele aceste variabile vor avea aceleași valori:
javascriptfunction test(num) {
function func(localNum) {
console.log(num); // va afișa 1
console.log(localNum); // va afișa 1
}
func(num);
}
test(1);
Diferența dintre ele va fi următoarea: dacă
în funcția internă se modifică variabila
num - ea se va schimba și în funcția externă:
javascriptfunction test(num) {
function func(localNum) {
num = 2; // schimbăm variabila num
}
func(num); // transmitem parametrul
console.log(num); // va afișa 2
}
test(1); // transmitem ca parametru numărul
Iar variabila localNum va fi locală.
Modificările ei nu vor duce la niciun
schimb în funcția externă. Și variabila
localNum în sine nu va fi vizibilă
în afara funcției interne:
javascriptfunction test(num) {
function func(localNum) {
localNum = 2; // schimbăm variabila num
}
func(num); // transmitem parametrul
}
test(1); // transmitem ca parametru numărul
Stabiliți, fără a rula codul, ce se va afișa în consolă:
javascriptfunction test(num) {
function func(localNum) {
console.log(localNum);
}
func(num);
}
test(1);
Stabiliți, fără a rula codul, ce se va afișa în consolă:
javascriptfunction test(num) {
function func(localNum) {
console.log(localNum);
}
func(num + 1);
}
test(1);
Stabiliți, fără a rula codul, ce se va afișa în consolă:
javascriptfunction test(num) {
function func(localNum) {
console.log(num);
}
func(num + 1);
}
test(1);
Stabiliți, fără a rula codul, ce se va afișa în consolă:
javascriptfunction test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(num);
}
test(1);
Stabiliți, fără a rula codul, ce se va afișa în consolă:
javascriptfunction test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(localNum);
}
test(1);
Stabiliți, fără a rula codul, ce se va afișa în consolă:
javascriptfunction test(num) {
function func(localNum) {
num = 2;
}
func(num);
console.log(num);
}
test(1);