Параметри на надворешните и внатрешните функции во JavaScript
Ајде да направиме и надворешната функција и внатрешната да прифаќаат параметри:
function test(num) {
function func(localNum) {
console.log(localNum);
}
}
Да го пренесеме параметарот на надворешната функција во повикот на внатрешната функција:
function test(num) {
function func(localNum) {
console.log(localNum); // ќе испише 1
}
func(num); //!! го пренесуваме параметарот
}
test(1); // пренесуваме параметар број
Излегува дека во внатрешната функција ќе
биде достапна променливата num како надворешна
променлива од родителската функција и променливата
localNum, која е локална променлива на
внатрешната функција.
Двете од овие променливи ќе имаат исти вредности:
function test(num) {
function func(localNum) {
console.log(num); // ќе испише 1
console.log(localNum); // ќе испише 1
}
func(num);
}
test(1);
Разликата меѓу нив ќе биде во следново: ако
во внатрешната функција се промени променливата
num - таа ќе се промени и во надворешната функција:
function test(num) {
function func(localNum) {
num = 2; // ја менуваме променливата num
}
func(num); // го пренесуваме параметарот
console.log(num); // ќе испише 2
}
test(1); // пренесуваме параметар број
А променливата localNum ќе биде локална.
Нејзините промени нема да доведат до никакви
промени во надворешната функција. А и самата
променлива localNum нема да биде видлива
надвор од внатрешната функција:
function test(num) {
function func(localNum) {
localNum = 2; // ја менуваме променливата num
}
func(num); // го пренесуваме параметарот
}
test(1); // пренесуваме параметар број
Определете, без да ја стартувате кодот, што ќе се испише во конзолата:
function test(num) {
function func(localNum) {
console.log(localNum);
}
func(num);
}
test(1);
Определете, без да ја стартувате кодот, што ќе се испише во конзолата:
function test(num) {
function func(localNum) {
console.log(localNum);
}
func(num + 1);
}
test(1);
Определете, без да ја стартувате кодот, што ќе се испише во конзолата:
function test(num) {
function func(localNum) {
console.log(num);
}
func(num + 1);
}
test(1);
Определете, без да ја стартувате кодот, што ќе се испише во конзолата:
function test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(num);
}
test(1);
Определете, без да ја стартувате кодот, што ќе се испише во конзолата:
function test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(localNum);
}
test(1);
Определете, без да ја стартувате кодот, што ќе се испише во конзолата:
function test(num) {
function func(localNum) {
num = 2;
}
func(num);
console.log(num);
}
test(1);