Vigezo vya Kazi za Ndani na Nje katika JavaScript
Wacha tufanye ili kazi ya nje na ya ndani zikubali vigezo:
function test(num) {
function func(localNum) {
console.log(localNum);
}
}
Tupitishe kigezo cha kazi ya nje kwenye wito wa kazi ya ndani:
function test(num) {
function func(localNum) {
console.log(localNum); // itatoa 1
}
func(num); //!! tunapitisa kigezo
}
test(1); // tunapitisa kigezo kama nambari
Inabadilika kuwa katika kazi ya ndani itakuwa
inapatikana kutofautisha num kama kutofautisha kwa nje
kutoka kwa kazi ya mzazi na kutofautisha
localNum, ambayo ni kutofautisha kwa ndani
ya kazi ya ndani.
Vitetebeau hivi viwili vitakuwa na thamani sawa:
function test(num) {
function func(localNum) {
console.log(num); // itatoa 1
console.log(localNum); // itatoa 1
}
func(num);
}
test(1);
Tofauti kati yao itakuwa kwa yafuatayo: ikiwa
katika kazi ya ndani kubadilisha kutofautisha
num - itabadilika na katika kazi ya nje:
function test(num) {
function func(localNum) {
num = 2; // tunabadilisha kutofautisha num
}
func(num); // tunapitisa kigezo
console.log(num); // itatoa 2
}
test(1); // tunapitisa kigezo kama nambari
Na kutofautisha localNum kitakuwa kwa ndani.
Mabadiliko yake hayatasababisha mabadiliko yoyote
katika kazi ya nje. Na yenyewe
kutofautisha localNum haitaonekana
nje ya kazi ya ndani:
function test(num) {
function func(localNum) {
localNum = 2; // tunabadilisha kutofautisha num
}
func(num); // tunapitisa kigezo
}
test(1); // tunapitisa kigezo kama nambari
Amua, bila kuzindua kificho, nini kitatolewa kwenye koni:
function test(num) {
function func(localNum) {
console.log(localNum);
}
func(num);
}
test(1);
Amua, bila kuzindua kificho, nini kitatolewa kwenye koni:
function test(num) {
function func(localNum) {
console.log(localNum);
}
func(num + 1);
}
test(1);
Amua, bila kuzindua kificho, nini kitatolewa kwenye koni:
function test(num) {
function func(localNum) {
console.log(num);
}
func(num + 1);
}
test(1);
Amua, bila kuzindua kificho, nini kitatolewa kwenye koni:
function test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(num);
}
test(1);
Amua, bila kuzindua kificho, nini kitatolewa kwenye koni:
function test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(localNum);
}
test(1);
Amua, bila kuzindua kificho, nini kitatolewa kwenye koni:
function test(num) {
function func(localNum) {
num = 2;
}
func(num);
console.log(num);
}
test(1);