استدعاء Apply في جافا سكربت

تميز التطبيق

من خلال apply() تمكنك من كتابة طرق للاستخدام مع مختلف الأ�체يات.

طريقة apply() في JavaScript

apply() تميز الطريقة call() تميز الطريقة مشابهة جداً:

في هذا المثال،person من fullName تم تطبيق الطريقةتطبيقإلى person1:

مثال

var person = {
    fullName: function() {
        return this.firstName + " " + this.lastName;
    }
}
var person1 = {
    firstName: "Bill",
    lastName: "Gates",
}
person.fullName.apply(person1);  // سيقوم بالعودة "Bill Gates"

جرب بنفسك

الفرق بين call() و apply()

الفرق هو:

call() تقبل الطريقة المعلمات بشكل منفصل.

apply() تقبل الطريقة معلمات في شكل مجموعة.

إذا كنت ترغب في استخدام مجموعة بدلاً من قائمة المعلمات، apply() سهلة للغاية.

طريقة apply() مع معلمات

apply() الطريقة تقبل مجموعة من المعلمات:

مثال

var person = {
  fullName: function(city, country) {
    return this.firstName + " " + this.lastName + "," + city + "," + country;
  }
}
var person1 = {
  firstName:\"Bill\",
  lastName: "Gates"
}
person.fullName.apply(person1, ["Oslo", "Norway"]);

جرب بنفسك

و call() الطريقة المقارنة:

مثال

var person = {
  fullName: function(city, country) {
    return this.firstName + " " + this.lastName + "," + city + "," + country;
  }
}
var person1 = {
  firstName:\"Bill\",
  lastName: "Gates"
}
person.fullName.call(person1, "Oslo", "Norway");

جرب بنفسك

محاكاة دالة max على القائمة

يمكنك استخدام Math.max() الدالة تجد أكبر عدد في قائمة (قائمة الأرقام)

مثال

Math.max(1,2,3);  // سيعود 3

جرب بنفسك

بما أن قائمة JavaScript لا تحتوي على دالة max()، يمكنك تطبيق Math.max() الدالة

مثال

Math.max.apply(null, [1,2,3]); // سيعود أيضًا 3

جرب بنفسك

المعامل الأول (null) غير مهم. لم يتم استخدامه في هذا المثال.

هذه الأمثلة ستنتج نفس النتيجة:

مثال

Math.max.apply(Math, [1,2,3]); // سيعود أيضًا 3

جرب بنفسك

مثال

Math.max.apply(" ", [1,2,3]); // سيعود أيضًا 3

جرب بنفسك

مثال

Math.max.apply(0, [1,2,3]); // سيعود أيضًا 3

جرب بنفسك

وضع مشدد JavaScript

في الوضع المشدد لـ JavaScript، إذا apply() إذا لم يكن أول معامل الدالة هو عنصر، فإنه سيصبح مالك الدالة المُطلقة (العنصر). في الوضع غير المشدد، يصبح العنصر العالمي.