021-28423015

صدا زدن تابع در JavaScript

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

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

تمام توابع متدها هستند

در جاوا اسکریپت تمام توابع روش شی هستند.
اگر یک تابع روش یک شیء جاوا اسکریپت نیست، این تابع یک شیء جهانی است (نگاه کنید به فصل قبلی).
مثال زیر یک شیء با 3 خواص، firstName، lastName، fullName ایجاد می کند.

تمام توابع متدها هستند
 var person = {
    firstName:"John",
    lastName: "Doe",
    fullName: function () {
        return this.firstName + " " + this.lastName;
    }
}
person.fullName();         // Will return "John Doe" 
مشاهده مثال

کلیدواژه this

در تعریف تابع، this به صاحب تابع اشاره دارد.

در مثال بالا، this این شیء شخصی است که "دارای" تابع fullName است.

به عبارت دیگر، this.firstName به معنای property اول نام این شی است.

متد call در جاوا اسکریپت

روش ()call یک روش جاوااسکریپ پیش فرض است.

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

با ()call ، یک شیء می تواند از یک متد متعلق به یک شی دیگر استفاده کند.

این مثال روش fullName شخص را فرا می گیرد، با استفاده از آن در person1:

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

این مثال روش fullName شخص را فرا می گیرد، با استفاده از آن در person2:

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

روش ()call با آرگومان

روش () 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");
مشاهده مثال

 

نظر شما

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

یادگیری JavaScript

مقالات و دروس

عضویت در خبرنامه شرکت نرم افزاری وب مهراز

برای اطلاع از بسته ها ، تخفیف های استثنایی و تازه های ما به خبرنامه وب مهراز بپیوندید.

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

مقالات مرتبط