JavaScript-da daşarky we içerki funksiýalaryň parametrleri
Geliň, daşarky funksiýanyň hem, içerki funksiýanyň hem parametrler kabul etmegini edeliň:
function test(num) {
function func(localNum) {
console.log(localNum);
}
}
Daşarky funksiýanyň parametrini içerki funksiýanyň çagyryşyna geçireliň:
function test(num) {
function func(localNum) {
console.log(localNum); // 1-ni görkezer
}
func(num); //!! parametri geçirýäris
}
test(1); // parametr hökmünde san geçirýäris
Şonuň üçin içerki funksiýada
num üýtgeýjisi ene funksiýadan
daşarky üýtgeýji hökmünde elýeterli bolar we
localNum üýtgeýjisi içerki funksiýanyň
ýerli üýtgeýjisi hökmünde bolar.
Bu iki üýtgeýjiniň hem bahalary deň bolar:
function test(num) {
function func(localNum) {
console.log(num); // 1-ni görkezer
console.log(localNum); // 1-ni görkezer
}
func(num);
}
test(1);
Olaryň arasyndaky tapawut şeýle bolar: eger
içerki funksiýada num üýtgeýjisini üýtgetsek
- ol daşarky funksiýada hem üýtger:
function test(num) {
function func(localNum) {
num = 2; // num üýtgeýjisini üýtgedýäris
}
func(num); // parametri geçirýäris
console.log(num); // 2-ni görkezer
}
test(1); // parametr hökmünde san geçirýäris
localNum üýtgeýjisi bolsa ýerli bolar.
Onyň üýtgemegi daşarky funksiýada hiç hili
üýtgeşikliklere getirmez. Özi hem
localNum üýtgeýjisi içerki funksiýanyň
daşyndan görünmez:
function test(num) {
function func(localNum) {
localNum = 2; // num üýtgeýjisini üýtgedýäris
}
func(num); // parametri geçirýäris
}
test(1); // parametr hökmünde san geçirýäris
Kody işletmezden öň, konsola näme çykajakdygyny kesgitleň:
function test(num) {
function func(localNum) {
console.log(localNum);
}
func(num);
}
test(1);
Kody işletmezden öň, konsola näme çykajakdygyny kesgitleň:
function test(num) {
function func(localNum) {
console.log(localNum);
}
func(num + 1);
}
test(1);
Kody işletmezden öň, konsola näme çykajakdygyny kesgitleň:
function test(num) {
function func(localNum) {
console.log(num);
}
func(num + 1);
}
test(1);
Kody işletmezden öň, konsola näme çykajakdygyny kesgitleň:
function test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(num);
}
test(1);
Kody işletmezden öň, konsola näme çykajakdygyny kesgitleň:
function test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(localNum);
}
test(1);
Kody işletmezden öň, konsola näme çykajakdygyny kesgitleň:
function test(num) {
function func(localNum) {
num = 2;
}
func(num);
console.log(num);
}
test(1);