استفاده از this

پرسیده شده
فعالیت 1141 روز پیش
دیده شده 401 بار
1

با سلام و خسته نباشید به اساتید و دوستان محترم

در زمان ۳۷:۱۲ ویدئو:

 

چرا ما در func.call(this,x) بجای کلمه worker از کلمه this استفاده کردیم؟

ما از کجا فهمیدیم که الان در اسکوپ شئ worker هستیم؟

(بعبارتی: چطور فهمیدیم که در func.call(this,x) کلمه this داره به worker اشاره میکنه؟)

 

فایل پیوست

Erfan Soori
Erfan Soori

28 اسفند 99

1
حذف شده

سلام دوست عزیز

وقت به خیر و سال نو مبارک

 

ببینید ما یک آبجکت داشتیم به اسم worker که تابع slow متعلق به آن بود

ما بدنه این تابع یا به عبارت تعریف این تابع را برای اینکه decorate بشه فرستادیم به تابع cachingDecorator و خروجی تابع دکوریتور خودش یه تابع است که روی متد slow آبجکت worker بازنویسی میشه

 

حالا در مرحله بعد ما تابع slow جدید را که بازنویسی و در واقع decorate کردیم توسط کدام آبجکت داریم صدا میزنیم؟

توسط worker

یعنی عامل invoke شدن تابع slow (همان نسخه ای که func.call(this,x) داخلش هست) آبجکت worker هست

پس this داخل آن اشاره میکنه به owner object اش

 

پیشنهاد میکنم کد را بنویسید و مرحله به مرحله با استفاده از console.log چک کنید ببینید چه اتفاق هایی داره میافته

فایل پیوست

مهرداد دادخواه

توسط

مهرداد دادخواه

3 فروردین 00