Function bind()
Tavsif
bind() metodi this uchun aniq qiymatga ega yangi funksiya yaratadi.
Misol
function fullName() {
let text = this.fName + " " + this.lName;
document.getElementById("demo").innerHTML = text;
}
// Create a person Object
const person = {
fName: "John",
lName: "Doe"
}
// Use fullName on person
let name = fullName.bind(person);
name();
O‘zingiz sinab ko‘ring »
Sintaksis
method.bind(object, arg1,...,argN)
Parametrlar
| Parametr | Tavsif |
| method | Majburiy. Bog‘lanadigan metod (ishlatiladigan funksiya). |
| object | Majburiy. Metod bog‘lanadigan obyekt (funksiya qaysi obyekt ustida ishlatilishi). |
| arg1,...,argN | Ixtiyoriy. Funksiya argumentlari. |
Qaytariladigan qiymat
| Tip | Tavsif |
| Qiymat | Funksiya natijasi. |
bind() va apply() o‘rtasidagi farq
bind() va apply() o‘rtasidagi farq ularning darhol bajarilishi va qaytaradigan qiymatida:
apply()
- O‘zi chaqirilgan funksiyani darhol ishga tushiradi (chaqiradi)
- Argumentlarni massiv ko‘rinishida uzatadi
bind()
- O‘zi chaqirilgan funksiyani qaytaradi
- Argumentlarni alohida-alohida uzatadi
Qo‘llanilish holatlari
Funksiyani ma’lum this konteksti bilan darhol bajarmoqchi bo‘lsangiz va argumentlar massivda tayyor bo‘lsa,
apply()dan foydalaning.this konteksti doimiy bog‘langan (va ehtimol ba’zi argumentlari oldindan belgilangan) yangi funksiyani keyinroq bajarish yoki callback funksiyasi sifatida ishlatish uchun yaratmoqchi bo‘lsangiz,
bind()dan foydalaning.
Ko‘proq misollar
bind() metodi yordamida obyektlar boshqa obyektlarning metodlarini “qarzga olishi” mumkin.
Misol
// Create person Object
const person = {
firstName:"John",
lastName: "Doe",
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
// Create member Object
const member = {
firstName:"Hege",
lastName: "Nilsen",
}
// Bind the fullName Method to the member Object
let fullName = person.fullName.bind(member);
O‘zingiz sinab ko‘ring »
Function metodlari va xususiyatlari
Brauzerlarda qo‘llab-quvvatlash
bind() — ECMAScript5 (ES5 2009) imkoniyati.
JavaScript 2009 2013-yil iyulidan beri barcha brauzerlarda qo‘llab-quvvatlanadi:
| Chrome 23 |
IE/Edge 11 |
Firefox 21 |
Safari 6 |
Opera 15 |
| 2012-yil sentabr | 2012-yil sentabr | 2013-yil aprel | 2012-yil iyul | 2013-yil iyul |
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
