GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

No menu could be recovered. Follow the blue links in the page.

This view

  • Original page
  • New address

GeezerVison is showing uz.javascript.info — Qaysi o'zgaruvchilar mavjud?

  • Qo'llanma
  • JavaScript dasturlash tili
  • Funktsiyalar bilan ilg'or ishlash
  • O'zgaruvchi doirasi, yopilish (closure)
darsga qaytish

Qaysi o'zgaruvchilar mavjud?

Quyidagi makeWorker funktsiyasi boshqa funktsiya yaratadi va uni qaytaradi. O’sha yangi funktsiya boshqa joydan chaqirilishi mumkin.

U o’zining yaratilgan joyidagi tashqi o’zgaruvchilarga, yoki chaqirilgan joyidagiga, yoki ikkala joyidagiga ham kirish huquqiga ega bo’ladimi?

function makeWorker() {
  let name = "Pete";

  return function () {
    alert(name);
  };
}

let name = "John";

// funktsiya yaratish
let work = makeWorker();

// uni chaqirish
work(); // nima ko'rsatadi?

Qaysi qiymatni ko’rsatadi? “Pete” yoki “John”?

Javob: Pit.

Quyidagi koddagi “work()” funksiyasi tashqi leksik muhit havolasi orqali kelib chiqqan joydan “nom” oladi:

Demak, natija bu erda "Pit".

Ammo agar makeWorker() da let name bo’lmasa, qidiruv tashqariga chiqib, yuqoridagi zanjirdan ko’rib turganimizdek global o’zgaruvchini oladi. Bunday holda, natija “Jon” bo’ladi.

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.