تابع Apply در JavaScript

استفاده مجدد از متد

با استفاده از روش ()apply می توانید یک روش را که می توانید در اشیاء مختلف استفاده کنید بنویسید.

متد ()apply در جاوااسکریپت

روش ()apply مشابه روش ()call (فصل قبل) است.

در این مثال روش fullName ، person در person1 اعمال می شود:

متد apply
 var person = {
    fullName: function() {
        return this.firstName + " " + this.lastName;
    }
}
var person1 = {
    firstName: "Mary",
    lastName: "Doe",
}
person.fullName.apply(person1);  // Will return "Mary Doe" 
مشاهده مثال

تفاوت بین ()call و()apply

تفاوت این است:

روش ()call آرگومان جداگانه را می گیرد.

متد ()apply آرگومان را به عنوان یک آرایه می گیرد.

روش ()apply بسیار مفید است اگر می خواهید به جای یک لیست استدلال از آرایه استفاده کنید.

متد ()apply با آرگومان

متد ()apply آرگومان در آرایه را می پذیرد:

متد apply با آرگومان
var person = {
    fullName: function(city, country) {
        return this.firstName + " " + this.lastName + "," + city + "," + country;
    }
}
var person1 = {
    firstName:"John",
    lastName: "Doe",
}
person.fullName.apply(person1, ["Oslo", "Norway"]);
مشاهده مثال

در مقایسه با روش ()call :

مقایسه یا call
var person = {
    fullName: function(city, country) {
        return this.firstName + " " + this.lastName + "," + city + "," + country;
    }
}
var person1 = {
    firstName:"John",
    lastName: "Doe",
}
person.fullName.call(person1, "Oslo", "Norway");
مشاهده مثال

شبیه سازی روش max در آرایه ها

شما می توانید بزرگترین شماره (در یک لیست از اعداد) با استفاده از روش ()Math.max پیدا کنید.

شبیه سازی روش max در آرایه ها
 Math.max(1,2,3);  // Will return 3 
مشاهده مثال

از آنجا که آرایه های جاوا اسکریپت یک روش ()max ندارند، می توانید از روش ()Math.max استفاده کنید.

max
 Math.max.apply(null, [1,2,3]); // Will also return 3 
مشاهده مثال

اولین استدلال (صفر) مهم نیست. این در این مثال استفاده نمی شود.

این مثال ها نتیجه مشابهی خواهند داد:

max apply
 Math.max.apply(Math, [1,2,3]); // Will also return 3 
مشاهده مثال

max apply
 Math.max.apply(" ", [1,2,3]); // Will also return 3 
مشاهده مثال

max apply
 Math.max.apply(0, [1,2,3]); // Will also return 3 
مشاهده مثال

 

نظر شما

لطفا نام و نام خانوادگی خود را وارد کنید
لطفا ایمیل خود را وارد کنید لطفا ایمیل صحیح وارد کنید.
لطفا متن نظر خود را وارد کنید
>

یادگیری JavaScript

مقالات و دروس

به خبرنامه مدرسه طراحی وب ایران (وب مهراز) بپیوندید.

لطفا شماره همراه صحیح وارد کنید.
لطفا ایمیل صحیح وارد کنید.

مقالات مرتبط