تطبيق JavaScript Function
طريقة إعادة الاستخدام
باستخدام هذه apply()
الطريقة ، يمكنك كتابة طريقة يمكن استخدامها على كائنات مختلفة.
تطبيق JavaScript () الطريقة
الطريقة apply()
مشابهة call()
للطريقة (الفصل السابق).
في هذا المثال ، يتم تطبيق طريقة fullName للشخص على person1 :
مثال
const person = {
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
const person1 = {
firstName: "Mary",
lastName: "Doe"
}
// This will return "Mary Doe":
person.fullName.apply(person1);
الفرق بين call () والتطبيق ()
والفرق هو:
تأخذ الطريقة call()
الحجج بشكل منفصل .
تأخذ الطريقة apply()
الوسيطات كمصفوفة .
تعتبر طريقة التطبيق () مفيدة جدًا إذا كنت تريد استخدام مصفوفة بدلاً من قائمة الوسائط.
طريقة التطبيق () مع الحجج
يقبل apply()
التابع الوسيطات في المصفوفة:
مثال
const person = {
fullName: function(city, country) {
return this.firstName + " " + this.lastName
+ "," + city + "," + country;
}
}
const person1 = {
firstName:"John",
lastName: "Doe"
}
person.fullName.apply(person1, ["Oslo", "Norway"]);
مقارنة 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");
محاكاة طريقة ماكس على المصفوفات
يمكنك إيجاد أكبر رقم (في قائمة الأرقام) باستخدام Math.max()
الطريقة:
مثال
Math.max(1,2,3); // Will return 3
نظرًا لأن مصفوفات JavaScript لا تحتوي على طريقة max () ، يمكنك تطبيق
Math.max()
الطريقة بدلاً من ذلك.
مثال
Math.max.apply(null, [1,2,3]); // Will also return 3
الوسيطة الأولى (خالية) لا يهم. لم يتم استخدامه في هذا المثال.
هذه الأمثلة ستعطي نفس النتيجة:
مثال
Math.max.apply(Math, [1,2,3]); // Will also return 3
مثال
Math.max.apply(" ", [1,2,3]); // Will also return 3
مثال
Math.max.apply(0, [1,2,3]); // Will also return 3
وضع جافا سكريبت الصارم
في وضع JavaScript الصارم ، إذا لم تكن الوسيطة الأولى apply()
للطريقة كائنًا ، فإنها تصبح مالك (كائن) الوظيفة المستدعاة. في الوضع "غير المقيد" ، يصبح الكائن العام.