٪۴۰ تخفیف تابستانه شروع شد! بزرگترین حراج سال ما

به ما بپیوندید

آموزش این کلمه کلیدی جاوا اسکریپت

مثال const person = { firstName: "John", lastName : "Doe", id : 5566, fullName : function() { return this.firstName + " " + this.lastName; } }; چه این ؟ thisکلمه کلیدی JavaScript به شی متعلق به آن اشاره دارد. بسته به جایی که استفاده…

محمد یوسفی

23 جولای 2021

مثال

const person = {
  firstName: "John",
  lastName : "Doe",
  id       : 5566,
  fullName : function() {
    return this.firstName + " " + this.lastName;
  }
};

چه این ؟

thisکلمه کلیدی JavaScript به شی متعلق به آن اشاره دارد.

بسته به جایی که استفاده می شود مقادیر مختلفی دارد:

  • در یک روش ، thisبه شی مالک اشاره دارد .
  • تنهایی ، thisبه شی جهانی اشاره دارد .
  • در یک تابع ، thisبه شی جهانی اشاره دارد .
  • در یک تابع ، در حالت دقیق ، thisاست undefined.
  • در یک رویداد ، thisبه عنصری که رویداد را دریافت کرده است اشاره دارد .
  • روشهایی مانند call()، و apply()می توانند thisبه هر شی اشاره کنند .

این در یک روش است

در یک روش شی ، thisبه ” صاحب ” روش اشاره دارد.

در مثال بالای این صفحه ، thisبه شی شخص اشاره شده است.

فرد شی است صاحب از نام و نام خانوادگی روش.

fullName : function() {
  return this.firstName + " " + this.lastName;
}

این تنهایی

هنگامی که به تنهایی استفاده می شود ، مالک شی جهانی است ، بنابراین thisبه شی جهانی اشاره می کند.

در پنجره مرورگر ، هدف جهانی این است [object Window]:

مثال

let x = this;

در حالت دقیق ، هنگامی که به تنهایی استفاده می شود ، thisبه هدف جهانی نیز اشاره دارد [object Window]:

مثال

"use strict";
let x = this;

این در یک عملکرد (پیش فرض)

در یک تابع جاوا اسکریپت ، دارنده تابع اتصال پیش فرض برای است this.

بنابراین ، در یک تابع ، thisبه شی Global جهانی اشاره دارد [object Window].

مثال

function myFunction() {
  return this;
}

این در یک عملکرد (سختگیرانه)

حالت سختگیرانه جاوا اسکریپت الزام آور پیش فرض را مجاز نمی داند.

بنابراین ، هنگامی که در یک تابع استفاده می شود ، در حالت دقیق ، thisاست undefined.

مثال

"use strict";
function myFunction() {
  return this;
}

این در Event Handlers

در کنترل کننده های رویداد HTML ، thisبه عنصر HTML دریافت کننده رویداد اشاره دارد:

مثال

<button onclick="this.style.display='none'">
  Click to Remove Me!
</button>

صحافی روش شی

در این مثال، thisاست فرد شی (شی فرد «مالک» از تابع است):

مثال

const person = {
  firstName  : "John",
  lastName   : "Doe",
  id         : 5566,
  myFunction : function() {
    return this;
  }
};

مثال

const person = {
  firstName: "John",
  lastName : "Doe",
  id       : 5566,
  fullName : function() {
    return this.firstName + " " + this.lastName;
  }
};

به عبارت دیگر: this.firstName به معنای ویژگی firstName این شی (شخص) است.


صحافی عملکرد صریح

call()و apply()روش ها روش جاوا اسکریپت از پیش تعریف شده.

از هر دو می توان برای فراخوانی یک متد شی با شی another دیگر به عنوان آرگومان استفاده کرد.

می توانید اطلاعات بیشتر call()و apply()بعداً را در این آموزش بخوانید .

در مثال زیر ، هنگام فراخوانی person1.fullName با person2 به عنوان آرگومان ، thisبه person2 اشاره می شود ، حتی اگر این یک روش از person1 باشد:

مثال

const person1 = {
  fullName: function() {
    return this.firstName + " " + this.lastName;
  }
}
const person2 = {
  firstName:"John",
  lastName: "Doe",
}
person1.fullName.call(person2);  // Will return "John Doe"

منبع

مطالب مرتبط

0 0 رای ها
امتیازدهی به مقاله
اشتراک در
اطلاع از
guest
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها