Sobes.tech
Middle

Kā darbojas slēgums (closure) JavaScript? Izskaidrojiet ar piemēru mainīgajam index un funkcijai run jūsu risinājumā.

sobes.tech AI

Atbilde no AI

JavaScript iekšā, aizvērums (closure) ir funkcija, kas atceras savu leksisko vidi, pat ja tā tiek izsaukta ārpus tās redzes lauka.

Apskatīsim piemēru ar mainīgo index un funkciju run:

function createRunner() {
  let index = 0;
  function run() {
    console.log(index);
    index++;
  }
  return run;
}

const runner = createRunner();
runner(); // 0
runner(); // 1
runner(); // 2

Šeit, funkcija run aizver index mainīgo no ārējās funkcijas createRunner. Pat ja createRunner jau ir pabeigusi savu izpildi, run turpina piekļūt index un var to mainīt. Tas ļauj saglabāt stāvokli starp run funkcijas izsaukumiem.

Tādējādi, aizvērumi ļauj izveidot funkcijas ar privātām mainīgajām un saglabāt stāvokli bez globālo mainīgo izmantošanas.