هرچند تعریف فانکشن مطلب ساده ایه، ولی نکته های ریزی دارن که مرورشون خالی از لطف نیست!
روش اول: Function Declaration
روش دوم: Function Expression
مقایسه این دو روش:
1. خط آخر این نوع تعریف به ; نیاز داره که بخاطر انتساب هست.
2. در روش اول اگر فانکشن قبل از خط تعریف صدا زده بشه به درستی کار میکنه ولی در Function Expression حتما باید بعد از تعریف صدا زده بشه.
روش سوم: showOK و showCancel فانکشن های callback هستن، این فانکشن ها به عنوان پارامتر فرستاده میشن تا هر جا لازم بود صدا زده بشن.
کد بالا میتونه ب شکل زیر هم نوشته بشه که در اون صورت به فانکشن های ارسالی anonymous گفته میشه چون بدون اسم هستن.
روش چهارم: Arrow Function
بعدا در مورد این روش جزییات بیشتری رو میگیم.
برای هر دو مثال یک متغیر بیرونی داریم که داخل فانکشن مقدار جدید بهشون داده شده، برای مثال اول مقدار متغیر بیرونی تغییر کرده ولی برای مثال دوم ثابت مونده!
چرا؟ چون وقتی متغیری رو به عنوان پارامتر برای فانکشن میفرستیم، فانکشن ها یک کپی از مقدار متغیر رو دریافت میکنن نه خود متغیر رو!