JavaScript funksiyasi "call()"
call() metodi JavaScript-ning o'rnatilgan metodi bo'lib, u bitta obyektga tegishli metodni boshqa obyekt uchun ishlatish imkonini beradi.
Metodlarni "qarzga" olish
JavaScript-da funksiyalar obyekt metodlari hisoblanadi. Agar funksiya obyektning bir qismi bo'lmasa, u global obyektning metodi hisoblanadi.
call() metodi yordamida biz bir obyektning metodini argument sifatida boshqa obyektni ko'rsatgan holda chaqira olamiz. Bu this qiymatini o'sha ko'rsatilgan obyektga bog'laydi.
Misol
js
const person = {
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
const person1 = {
firstName: "John",
lastName: "Doe"
}
const person2 = {
firstName: "Mary",
lastName: "Doe"
}
// person-ning fullName metodini person1 uchun ishlatish:
person.fullName.call(person1); // "John Doe" qaytaradi"call()" metodiga argumentlar uzatish
call() metodi birinchi bo'lib this uchun obyektni, keyin esa funksiya uchun kerakli argumentlarni qabul qiladi.
Misol
js
const person = {
fullName: function(city, country) {
return this.firstName + " " + this.lastName + ", " + city + ", " + country;
}
}
const person1 = {
firstName: "John",
lastName: "Doe"
}
person.fullName.call(person1, "Oslo", "Norway");Farqi nimada?
Keyingi bo'limda o'rganadigan apply() metodidan farqli o'laroq, call() argumentlarni birma-bir (alohida) qabul qiladi.
