Pesastatud funktsioonide ulatus JavaScriptis
Kui funktsioon sisaldab sees teist funktsiooni - on välimise funktsiooni muutujad sisemises funktsioonis nähtavad:
function test() {
let num = 1; // välimise funktsiooni muutuja
function func() {
console.log(num); // väljastab 1
}
func(); // kutsume välja sisemise funktsiooni
}
test(); // kutsume välja välimise funktsiooni
Samuti on sisemises funktsioonis nähtavad muutujad, mis on defineeritud väljaspool välimist funktsiooni:
let num = 1; // globaalne muutuja
function test() {
function func() {
console.log(num); // väljastab 1
}
func(); // kutsume välja sisemise funktsiooni
};
test(); // kutsume välja välimise funktsiooni
Määrake, koodi käivitamata, mis konsooli väljastatakse:
function test() {
let num = 1;
function func() {
console.log(num);
}
func();
}
test();
Määrake, koodi käivitamata, mis konsooli väljastatakse:
function test() {
let num = 1;
function func() {
console.log(num);
}
}
test();
Määrake, koodi käivitamata, mis konsooli väljastatakse:
function test() {
let num = 1;
function func() {
console.log(num);
}
func();
}
Määrake, koodi käivitamata, mis konsooli väljastatakse:
function test() {
let num;
function func() {
console.log(num);
}
num = 1
func();
num = 2
func();
}
test();