JavaScript Function bind()

ການຂຶ້ນກັບພາສາວຽກງານ (Function Borrowing)

ທີ່ໃຊ້ bind() 方法ມີສະແດງວ່າໂອກາດອີກໜຶ່ງຈະມີການຂຶ້ນກັບຂອງອີກໜຶ່ງ

ບົດການນີ້ຈະສ້າງໂອກາດ 2 ອັນ (person ແລະ member)。

member ມີການຂຶ້ນກັບຂອງ person ທີ່ມີພາສາ fullname 方法:

ຄວາມປະກອບ

const person = {
  firstName:\"Bill\",
  lastName: "Gates",
  fullName: function () {
    return this.firstName + \" \" + this.lastName;
  }
}
const member = {
  firstName:\"Hege\",
  lastName: "Nilsen",
}
let fullName = person.fullName.bind(member);

ທີ່ຈະສອບສວນດ້ວຍຕົວຕົນ

ຄວາມສະແດງ this

ບາງຄັ້ງຈະຕ້ອງໃຊ້ bind() 方法ເພື່ອປ້ອງກັນຈາກການສູນເສຍ this.

ໃນບົດການນີ້ person ມີໂອກາດ display。ໃນພາສາ display,this ແມ່ນສະແດງເປັນໂອກາດ person:

ຄວາມປະກອບ

const person = {
  firstName:\"Bill\",
  lastName: "Gates",
  display: function () {
    let x = document.getElementById("demo");
    x.innerHTML = this.firstName + " " + this.lastName;
  }
}
person.display();

ທີ່ຈະສອບສວນດ້ວຍຕົວຕົນ

ບ່ອນທີ່ພາສາຈະໃຊ້ງານວຽກງານຄືນຄືນthis ຈະສູນເສຍ。

ບົດການນີ້ຈະພະຍາຍາມສະແດງຊື່ຜູ້ຄົນພາຍໃນ 3 ວັນນາທີນັ້ນ,ແຕ່ຈະສະແດງ undefined:

ຄວາມປະກອບ

const person = {
  firstName:\"Bill\",
  lastName: "Gates",
  display: function () {
    let x = document.getElementById("demo");
    x.innerHTML = this.firstName + " " + this.lastName;
  }
}
setTimeout(person.display, 3000);

ທີ່ຈະສອບສວນດ້ວຍຕົວຕົນ

bind() 方法ໄດ້ແກ້ໄຂບັນຫານີ້。

bind() 方法ໃຊ້ໃນຄວາມປະກອບເພື່ອມັດຕິດ person.display ຫາ person。

ບົດການນີ້ຈະສະແດງຊື່ຜູ້ຄົນພາຍໃນ 3 ວັນນາທີນັ້ນ:

ຄວາມປະກອບ

const person = {
  firstName:\"Bill\",
  lastName: "Gates",
  display: function () {
    let x = document.getElementById("demo");
    x.innerHTML = this.firstName + " " + this.lastName;
  }
}
let display = person.display.bind(person);
setTimeout(display, 3000);

ທີ່ຈະສອບສວນດ້ວຍຕົວຕົນ

ວ່າສານຄຳ this ແມ່ນຫຍັງ?

ໃນ JavaScriptthis ສານຄຳກ່ຽວຂ້ອງກັບວັດຖຸ.

ກ່ຽວຂ້ອງກັບຄວາມທີ່ສານຄຳກ່ຽວຂ້ອງກັບວັດຖຸຕາມວິທີການດຳເນີນພາສາຂອງການໃຊ້

ຕາມວິທີການນໍາໃຊ້ this ທີ່ກ່ຽວຂ້ອງກັບວັດຖຸຕ່າງກັນ

  • ໃນການດຳເນີນພາສາວັດຖຸthis ກ່ຽວຂ້ອງກັບວັດຖຸ.
  • ທີ່ນຳໃຊ້ດ້ວຍອິດສະຫນາມthis ກ່ຽວຂ້ອງກັບວັດຖຸໂລກ.
  • ໃນການດຳເນີນພາສາthis ກ່ຽວຂ້ອງກັບວັດຖຸໂລກ.
  • ໃນການດຳເນີນພາສາ, ໃນການນຳໃຊ້ກົດລະບຽບຄວາມຕາຍthis ແມ່ນ undefined.
  • ໃນການກະທົບthis ທີ່ກວດສອບການກະທົບວັດຖຸ.
  • ການໃຊ້ພວກມາດ, apply() ແລະ bind() ແລະອື່ນໆທີ່ສາມາດນຳໃຊ້ this ກ່ຽວຂ້ອງກັບບັນດາວັດຖຸ.

ຄວາມຕ້ອງການ:this ບໍ່ແມ່ນສິນລະບົບ. ມັນເປັນສານຄຳ. ທ່ານບໍ່ສາມາດດັດແປງມັນ this ຄວາມທີ່.

ບໍ່ດັ່ງນັ້ນເບິ່ງ:

ການສອນ:JavaScript this