جسٹاگرافک اسکوپ کی کیوئر کلمات

实例

var person = {
  firstName: "Bill",
  lastName : "Gates",
  id       : 678,
  fullName : function() {
    return this.firstName + " " + this.lastName;
  }
};

خود کا تجربہ کریں

this کیا ہوتا ہے؟

JavaScript this کلمات کا حوالہ اس کی تعلق رکھنے والی اشیاء کا دیتا ہے。

یہ مختلف اقدار کا حوالہ دیتا ہے، جو اس کی استعمال کی پوزیشن کی بناء پر متغیر ہوتا ہے:

  • طریق میں،this یہ مالک اشیاء کا حوالہ دیتا ہے。
  • علیحدہ صورت میں،this یہ عالمی اشیاء کا حوالہ دیتا ہے
  • فونکشن میں،this یہ عالمی اشیاء کا حوالہ دیتا ہے
  • فونکشن میں، سخت نگرانی میں،this یہ undefined ہے。
  • ایوینٹ میں،this یہ اس ایوینٹ کو قبول کرنے والا علامت ہے。

مانند call()apply() ایسے طریقے کو کسی بھی اشیاء میں this کا استعمال کرسکتا ہے。

طریقہ میں this

اشیاء کی طریقہ کار میں،this یہ اس فونکشن کا مالک کا حوالہ دیتا ہے。

اس صفحے کے اوپر کے مثال میں،this یہ person اشیاء کا حوالہ دیتا ہے。

person اشیاء fullName فونکشن کا مالک ہے。

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

خود کا تجربہ کریں

علیحدہ this

عالمی اشیاء کو علیحدہ طور پر استعمال کیا جائے، تو، this یہ عالمی اشیاء کا حوالہ دیتا ہے

بrowsر ونڈو میں، عالمی اشیاء، [object Window]:

实例

var x = this;

خود کا تجربہ کریں

سخت نگرانی میں، اگر علیحدہ طور پر استعمال کیا جائے، تو، this یہ عالمی اشیاء کا حوالہ دیتا ہے [object Window]:

实例

"use strict";
var x = this;

خود کا تجربہ کریں

فونکشن میں this (طبیعی)

JavaScript فونکشن میں، فونکشن کا مالک طبیعی طور پر باندنگ ہوتا ہے this.

اس لئے، فونکشن میں،this یہ عالمی اشیاء کا حوالہ دیتا ہے [object Window].

实例

function myFunction() {
  return this;
}

خود کا تجربہ کریں

فونکشن میں this (سخت نگرانی)

JavaScript سخت نگرانی میں default باندنگ کی اجازت نہیں دیتی ہے。

اس لئے، فونکشن میں استعمال کے دوران، سخت نگرانی میں،this یہ نا تعریف شدہ ہے (undefined)}

实例

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

خود کا تجربہ کریں

ایوینٹ ہینڈلر میں this

HTML ایوینٹ ہینڈلر میں،this یہ اس ایوینٹ کو قبول کرنے والا HTML علامت ہے:

实例

<button onclick="this.style.display='none'">
  میری مدد کریں تاکہ میں مٹ جائیں!
</button>

خود کا تجربہ کریں

اشیاء کی طریقہ کار

اس مثال میں،this یہ person اشیاء (person اشیاء یہ فونکشن کا مالک ہے):

实例

var person = {
  firstName  : "Bill",
  lastName   : "Gates",
  id         : 678,
  myFunction : function() {
    return this;
  }
};

خود کا تجربہ کریں

实例

var person = {
  firstName: "Bill",
  lastName : "Gates",
  id       : 678,
  fullName : function() {
    return this.firstName + " " + this.lastName;
  }
};

خود کا تجربہ کریں

换句话说,this.firstName 意味着 this(person)对象的 firstName 属性。

显式函数绑定

call()apply() 方法是预定义的 JavaScript 方法。

它们都可以用于将另一个对象作为参数调用对象方法。

您可以在本教程后面阅读有关 call()apply() 的更多内容。

在下面的例子中,当使用 person2 作为参数调用 person1.fullName 时,this 将引用 person2,即使它是 person1 的方法:

实例

var person1 = {
  fullName: function() {
    return this.firstName + " " + this.lastName;
  }
}
var person2 = {
  firstName:"Bill",
  lastName: "Gates",
}
person1.fullName.call(person2);  // 会返回 "Bill Gates"

خود کا تجربہ کریں