Ā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
Nosakiet, nepalaist kodu, ko izvadīs konsole:
javascriptfunction test(num) {
function func(localNum) {
console.log(localNum);
}
func(num);
}
test(1);
Nosakiet, nepalaist kodu, ko izvadīs konsole:
javascriptfunction test(num) {
function func(localNum) {
console.log(localNum);
}
func(num + 1);
}
test(1);
Nosakiet, nepalaist kodu, ko izvadīs konsole:
javascriptfunction test(num) {
function func(localNum) {
console.log(num);
}
func(num + 1);
}
test(1);
Nosakiet, nepalaist kodu, ko izvadīs konsole:
javascriptfunction test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(num);
}
test(1);
Nosakiet, nepalaist kodu, ko izvadīs konsole:
javascriptfunction test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(localNum);
}
test(1);
Nosakiet, nepalaist kodu, ko izvadīs konsole:
javascriptfunction test(num) {
function func(localNum) {
num = 2;
}
func(num);
console.log(num);
}
test(1);