JavaScript-da yuk ko'tarish nima?
JavaScript-da yuk ko'tarish nima?

Video: JavaScript-da yuk ko'tarish nima?

Video: JavaScript-da yuk ko'tarish nima?
Video: #5 Javascriptni funksiya va return | boshlang'ich dasturchilar uchun Javascript Darslari 2024, May
Anonim

Yuk ko'tarish a JavaScript o'zgaruvchilar va funksiya deklaratsiyasi kod bajarilishidan oldin ularning ko'lamining yuqori qismiga ko'chiriladigan mexanizm. Muqarrar ravishda, bu funksiyalar va o'zgaruvchilar qayerda e'lon qilinmasin, ularning qamrovi global yoki mahalliy bo'lishidan qat'i nazar, ular o'z sohalarining yuqori qismiga ko'chiriladi.

Xuddi shunday, siz misol bilan JavaScript-da ko'tarilish nima ekanligini so'rashingiz mumkin.

Yuk ko'tarish bo'ladi JavaScript tarjimonning barcha o'zgaruvchilar va funksiya deklaratsiyasini joriy doiraning yuqori qismiga ko'chirish harakati. (function() { var foo; var bar; var baz; foo = 1; alert(foo + " " + bar + " " + baz); bar = 2; baz = 3; })(); Endi nima uchun ikkinchisi mantiqan misol istisno yaratmadi.

Xuddi shunday, JavaScript-da nima ruxsat beriladi? Tavsif. ruxsat bering var dan farqli ravishda blok, ifoda bayonoti bilan cheklangan o'zgaruvchilarni e'lon qilish imtiyozini beradi. var, aksincha, blok doirasidan qat'i nazar, o'zgaruvchini global miqyosda belgilaydigan kalit so'zdir. Endi, ruxsat bering Men sizga ular qanday farq qilishini ko'rsataman.

Shunday qilib, nima uchun JavaScript ko'tarilmoqda?

Asosan ko'tarish kompilyatsiya paytida nima sodir bo'lishini tushuntirish uchun ixtiro qilingan tushunchadir javascript . Tushuntirishni boshlashdan oldin javascript kompilyator har bir funktsiyadan o'tadi va nomlangan narsalarni aniqlaydi va o'sha doiradagilarni e'lon qiladi va funktsiyalarni ota-ona funktsiyalari doirasidan ko'rish imkonini beradi.

VAR o'rnatilganmi?

JavaScript dvigateli hamma narsani davolaydi o'zgaruvchan "dan foydalangan holda deklaratsiyalar var ” go‘yo ular funksional doiraning (agar funksiya ichida e’lon qilingan bo‘lsa) yoki global qamrovning (agar funktsiyadan tashqarida e’lon qilingan bo‘lsa) yuqori qismida e’lon qilingandek, haqiqiy e’lon qayerda sodir bo‘lishidan qat’i nazar. Bu asosan " ko'tarish ”.

Tavsiya: