پرسش درباره ی چاپ متغیر در JavaScript

سلام وقت بخیر سوالی دارم خدمتتون شما در بحث متغیر ها و فانکشن ها در جاوااسکریپت فرمودید که برنامه ای اگر بخواد در خروجی اجرا بشه اول میاد خط به خط کد را اجرا میکنه حالا من یه تمرین در لینک دین بود از روش کد زدم و برام جای علامت سوال هست یه متغیر داریم که به صورت گلوبال هست و مقدار آن برابر با 20 هست بعد در داخل فانکشن foo مقدار a رو میخواد چاپ کنه که باید خب 20 باشه و متغیر از نوع var هم تعریف کرده که مساوی 10 هست و خارج از اسکوپ بخواد فانکشن اجرا کنه هردو برابر undefined چاپ میکنه یادمه گفتید اگر متغیری مقدار نداشته undefined مواجه میشیم الان برام جای سواله که چرا دوتا undefined میبینم در خروجی؟؟!!!

Untitled

سلام
ما مدل‌های مختلفی از تعریف متغیر داریم
بحث hoistingها رو ببینید سوالتون برطرف می‌شه

1 پسندیده