استدعاء Apply في جافا سكربت
- الصفحة السابقة دالة JS Call
- الصفحة التالية ربط الدالة JS
تميز التطبيق
من خلال 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()
إذا لم يكن أول معامل الدالة هو عنصر، فإنه سيصبح مالك الدالة المُطلقة (العنصر). في الوضع غير المشدد، يصبح العنصر العالمي.
- الصفحة السابقة دالة JS Call
- الصفحة التالية ربط الدالة JS