استدعاء وظيفة JavaScript
طريقة إعادة الاستخدام
باستخدام هذه call()
الطريقة ، يمكنك كتابة طريقة يمكن استخدامها على كائنات مختلفة.
جميع الوظائف هي طرق
جميع الوظائف في JavaScript هي طرق كائن.
إذا لم تكن الوظيفة طريقة لكائن JavaScript ، فهي وظيفة للكائن العام (انظر الفصل السابق).
يقوم المثال أدناه بإنشاء كائن بثلاث خصائص ، الاسم الأول ، الاسم الأخير ، الاسم الكامل.
مثال
const myObject = {
firstName:"John",
lastName: "Doe",
fullName: function () {
return this.firstName + " " + this.lastName;
}
}
// This will return "John Doe":
myObject.fullName();
هذه الكلمة _
في تعريف الوظيفة ، this
يشير إلى "مالك" الوظيفة.
في المثال أعلاه ، this
هو كائن الشخص الذي "يمتلك"
وظيفة fullName .
بمعنى آخر ، يعني this.firstName خاصية الاسم الأول لهذا الكائن .
اقرأ المزيد عن this
الكلمة الأساسية في JS this Keyword .
طريقة استدعاء JavaScript ()
الطريقة call()
هي طريقة JavaScript محددة مسبقًا.
يمكن استخدامه لاستدعاء (استدعاء) طريقة مع كائن مالك كوسيطة (معلمة).
باستخدام call()
، يمكن للكائن استخدام طريقة تنتمي إلى كائن آخر.
يستدعي هذا المثال طريقة fullName للشخص ، ويستخدمها على person1 :
مثال
const person = {
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
const person1 = {
firstName:"John",
lastName: "Doe"
}
const person2 = {
firstName:"Mary",
lastName: "Doe"
}
// This will return "John Doe":
person.fullName.call(person1);
يستدعي هذا المثال طريقة fullName للشخص ، ويستخدمها على person2 :
مثال
const person = {
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
const person1 = {
firstName:"John",
lastName: "Doe"
}
const person2 = {
firstName:"Mary",
lastName: "Doe"
}
// This will return "Mary Doe"
person.fullName.call(person2);
طريقة الاستدعاء () مع الوسيطات
يمكن call()
للطريقة قبول الوسائط:
مثال
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");