ဂျိုးတိုးလ် this အကြွင်း

အကျိုးဆက်

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

ကိုယ်တိုင် ကြိုးစားပါ

global အကို

global အကို this global အကို

global အကို

  • global အကိုthis global အကို
  • global အကိုthis global အကို
  • global အကိုthis global အကို
  • global အကိုthis global အကို
  • global အကိုthis global အကို

global အကို call() နှင့် apply() global အကို

global အကို

global အကိုthis global အကို

global အကိုthis global အကို

person အကို ဒီ fullName ဘက်က အခြား အကို

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

ကိုယ်တိုင် ကြိုးစားပါ

global အကို

global အကို this global အကို

browser ပြား :

အကျိုးဆက်

var x = this;

ကိုယ်တိုင် ကြိုးစားပါ

strict အခြေခံ အခြား အကို this global အကို :

အကျိုးဆက်

"use strict";
var x = this;

ကိုယ်တိုင် ကြိုးစားပါ

global အကို

global အကို this.

global အကိုthis global အကို .

အကျိုးဆက်

function myFunction() {
  return this;
}

ကိုယ်တိုင် ကြိုးစားပါ

ဘက်က အခြား အကို (အခြေခံ အခြား အကို):

JavaScript အခြေခံ အခြား အကို အခြေခံ အခြား အကို မပြောင်းလဲပါ

ထိုမှာ ဘက်က အသုံးပြုပါက အခြား အကို အခြေခံ အခြား အကို အသုံးပြုပါက အခြား အကို မပြောင်းလဲပါ:this ဒီ အခြား အကို မပြောင်းလဲပါ (undefined})

အကျိုးဆက်

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

ကိုယ်တိုင် ကြိုးစားပါ

အခြား အကို ပြုလုပ်သူတွင် this

HTML အခြား အကို ပြုလုပ်သူ တွင်,this ဒီ အခြား အကို ကို လက်ခံသည့် အခြား အကို:

အကျိုးဆက်

<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အရာ firstName အချက်

ဖွင့်လိုက်ပြီး ဂီအီယ် ဆိုင်ရာ

call() နှင့် apply() သူတို့ သည် နောက်ထပ် ပြောင်းလဲပေးတဲ့ဂီအီယ် များ ဖြစ်ကြသည်

သူတို့ အားလုံး အခြား အရာကို ပြောင်းလဲပေးတဲ့ဂီအီယ် အား အသုံးပြုရန် အတွက် ဖြစ်သည်

ကျွန်ုပ် ထိုအပြည့်အဝင် နောက်ပိုင်း ဖတ်ပါ call() နှင့် apply() နောက်ပိုင်း

ပြောင်းလဲပေးတဲ့ဂီအီယ် person2 ကို အသုံးပြုပါthis ပြောင်းလဲပေးတဲ့ဂီအီယ် person2 ကို ကြိုးစားပါ

အကျိုးဆက်

var person1 = {
  fullName: function() {
    return this.firstName + " " + this.lastName;
  }
}
var person2 = {
  အကြီးအမည်: "Bill",
  အကြီးအမည်: "Gates",
}
person1.fullName.call(person2);  // နှင့်အတူ "Bill Gates"

ကိုယ်တိုင် ကြိုးစားပါ