CLOSURE IN JS
CLOSURE bu function ichida biror bir uzgaruvchini ishlashiga ruhsat berishidir
yani bu erda biz num degan 123 qiymatga ega bir uzgaruvchi elon qildik va keyin n
nomli bitta n () function ochdik va bu function ichida yana bitta m () function ochdik
uni ichida esa consolga num ni chiqar deb buyruq beryapmiz.
har bir { } qavslar kiritilganda qavslar orasida lexical environment (yani muhit) hosil qiladi
yuqoridagi kodga qaytsak bizda bitta qymat tayinlab elon qilingan uzgaruvchi v aikkita function bor
console.log (num) komondasi birinchi bulib m () function uchun hosil bulgan muhit ichida
num degan uzgaruvchini istaydi topolmagach uzidan bitta yuqorida turgan muhitga
murojat etadi yani n () functionga, lekin bu muhitda ham num degan uzgaruvchini
topilgach yana tepa turgan muhitga murojat etadi va eng yuqorida global muhitda
turgan num nomli uzgaruvchini kuradi va uning qiymatini consolga chiqaradi