Hisoblagichlar mustaqil emasmi?
Bu erda bizda ikkita hisoblagich bor: makeCounter funktsiyasidan foydalangan holda counter va counter2.
Ular mustaqil emasmi? Ikkinchi hisoblagich nimani namoyish etadi? 0,1 yoki2,3 yoki boshqa narsa?
function makeCounter() {
let count = 0;
return function() {
return count++;
};
}
let counter = makeCounter();
let counter2 = makeCounter();
alert( counter() ); // 0
alert( counter() ); // 1
alert( counter2() ); // ?
alert( counter2() ); // ?
Javob: 0,1.
counter va counter2 funktsiyalari makeCounter ning turli xil chaqiruvlari bilan yaratilgan.
Shunday qilib, ular mustaqil tashqi leksik muhitlarga ega, ularning har biri o’ziga xos counter ga ega.