Function Invocation
وقتی یک تابع در جاوااسکریپت تعریف میکنیم، برای اجرا شدن باید فراخوانی (invoke) بشه.
روشهای مختلفی برای فراخوانی تابع وجود داره:
1️⃣ فراخوانی بهصورت مستقیم
سادهترین روش:
2️⃣ فراخوانی به عنوان متد (Method Invocation)
وقتی تابع داخل یک شیء تعریف میشه، با استفاده از object.method() صدا زده میشه.
🔹 اینجا this
به person اشاره میکنه.
3️⃣ فراخوانی به عنوان یک Function (Global Invocation)
اگر تابع بدون شیء صدا زده بشه، در حالت عادی this
به window (یا globalThis) اشاره میکنه:
4️⃣ فراخوانی با Constructor (new
)
اگر تابع رو با new
فراخوانی کنیم → یک شیء جدید ساخته میشه.
5️⃣ فراخوانی با call()
و apply()
تابعها متدهای داخلی call و apply دارن که اجازه میده this
و آرگومانها رو کنترل کنیم.
6️⃣ فراخوانی با bind()
با bind()
یک نسخه جدید از تابع میسازیم که همیشه this
مشخصی داره.
📌 جمعبندی Invocation Types
روش فراخوانی | توضیح |
---|---|
Direct Call | myFunc() – سادهترین حالت |
Method Call | obj.myFunc() – this → obj |
Global Call | myFunc() – this → window/globalThis |
Constructor Call | new MyFunc() – ساخت شیء جدید |
call/apply | تغییر this + ارسال آرگومانها |
bind | ساخت یک نسخه جدید با this ثابت |