JavaScript'те жабуулар кайда колдонулат?
JavaScript'те жабуулар кайда колдонулат?

Video: JavaScript'те жабуулар кайда колдонулат?

Video: JavaScript'те жабуулар кайда колдонулат?
Video: Nobody Is Allowed Inside! ~ Phenomenal Abandoned Manor Left Forever 2024, Ноябрь
Anonim

In JavaScript , жабылуулар негизги механизми болуп саналат колдонулган маалыматтардын купуялыгын иштетүү үчүн. Сен качан жабууларды колдонуу маалыматтардын купуялыгы үчүн, тиркелген өзгөрмөлөр камтыган (тышкы) функциянын алкагында гана болот. Объекттин артыкчылыктуу ыкмаларын кошпогондо, маалыматты тышкы чөйрөдөн ала албайсыз.

Ошо сыяктуу эле, JavaScript'те кандай жабылуулар бар?

А жабуу анын курчап турган абалына (лексикалык чөйрөгө) шилтемелер менен бириктирилген (тиркелген) функциянын айкалышы. Башкача айтканда, А жабуу сизге ички функциядан тышкы функциянын чөйрөсүнө мүмкүнчүлүк берет.

Андан тышкары, жабуулардын мааниси эмнеде? 12 кайтарат. Жабылуу бул JavaScriptтеги функция, мында функция өзүнүн масштабынын өзгөрмөлөрүнө, тышкы функция өзгөрмөлөрүнө жана глобалдык өзгөрмөлөргө кире алат. Жабылуу тышкы функция кайтып келгенден кийин да анын тышкы функция чөйрөсүнө кирүү мүмкүнчүлүгү бар.

Ошондой эле, билүү үчүн, мисалы менен JavaScript жабуу деген эмне?

Бул а деп аталат JavaScript жабылышы . Бул функциянын "жеке" өзгөрмөлөргө ээ болушуна мүмкүндүк берет. Эсептегич анонимдүү функциянын чөйрөсү менен корголот жана аны кошуу функциясы аркылуу гана өзгөртүүгө болот. А жабуу ата-энелик чөйрөгө кирүү мүмкүнчүлүгү бар функция, ата-эне функциясы жабылгандан кийин да.

JavaScript'те жабуунун кандай пайдасы бар?

Жабуулар кандай байланышы бар javascript масштабдуу болуп саналат. Башкача айтканда, масштабдуу тандоолордон улам (б.а. лексикалык масштабда) javascript дизайнерлер жасаган, жабылуулар мүмкүн. The JavaScript'те жабуунун артыкчылыгы ал сизге өзгөрмөлөрдү аткаруу контекстине байлоого мүмкүндүк берет.

Сунушталууда: