‎‎تابع‎call()‎‎ جاوااسكريپJavaScript Function cal()‎ -‎

Previous >    <Next  

‎‎استفاده مجدد متدMethod Reuse -‎

‎با متد‎‎call( )‎‎ ميتوان متد نوشته شئي را براي شئ هاي ديگر استفاده ‎‎نمود.

‎‎همه توابع متدندAll Functions are Methods -‎

‎در جاوااسكريپت همه توابع متد ميباشند .اگر تابعي متد شئ جاوااسكريپت نباشد، آن تابعي از شئ ‎سراسري‎(global object)‎ است‎)‎ . فصل قبلي را ملاحظه فرمائيد‎(‎

‎‎مثال ـ در اين مثال شئperson با سه ويژگي firstName,lastName,fullName ايجاد ميشود .

‎
const person = {
  firstName:"John",
  lastName: "Doe",
  fullName: function () {
    return this.firstName + " " + this.lastName;
  }
}

// This will return "John Doe":
person.fullName();  

--(go to editor for change code and run)

‎‎در مثال فوق‎this‎ به شئperson اشاره ميكند .

this.firstName‎يعني fistName مربوط به this وبطور مشابه this.lastName يعني lastName مربوط ‎بهthis و ...

‎‎كي وردthis جيست

‎در جاوااسكريت كي ورد‎this‎ بيك شئ اشاره دارد .كدام شئ ، بستگي به نحوي فراخواني ‎يا استفاده دارد.

‎‎كي ورد‎this‎ باشياء مختلف وابسته به استفاده ، اشاره ميكند .مطابق زير :

‎

‎‎توجه ـ‎this‎ متغير نيست، آن يك كلمه رزرو شده است .نميتوان مقدارآن را تغييرداد .

‎در موردthis در بحش JavaScript this ‎اطلاعات كاملتري را مطالعه فرمائيد.

‎‎متد‎call( )‎ جاوااسكريپت

‎‎متد‎‎call( )‎‎ متدي از پيش تعريف شده جاوااسكريپت است .

‎متد فوق را ميتوان براي فراخواني يك متد با يك شئ مالك مثلarguments براي پارامترها ‎استفاده كرد.

‎

‎‎با‎‎call( )‎‎ ميتوان براي شئ ازمتد شئ ديگر استفاده كرد .

‎‎مثال ـ استفاده متدي ازشئ ديگر براي شئي

‎
const person = {
  fullName: function() {
    return this.firstName + " " + this.lastName;
  }
}
const person1 = {
  firstName:"John",
  lastName: "Doe"
}
const person2 = {
  firstName:"Mary",
  lastName: "Doe"
}

// This will return "John Doe":
person.fullName.call(person1);

--(go to editor for change code and run)

‎در مثال فوق متدfullName ازperson براي شئperson1 فراخوان ميشود .درآن ازمتدcall ‎استفاده شده است . اين دستور مطابق زير است.

‎person.fullName.call(person1)

‎‎مثال ـ مشابه مثال قبلي متد برايperson2 استفاده شده است .

‎
const person = {
  fullName: function() {
    return this.firstName + " " + this.lastName;
  }
}
const person1 = {
  firstName:"John",
  lastName: "Doe"
}
const person2 = {
  firstName:"Mary",
  lastName: "Doe"
}

// This will return "Mary Doe"
person.fullName.call(person2);

--(go to editor for change code and run)

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

‎‎متد‎‎call( )‎‎ ميتواند همراه آرگومان هم استفاده شود .

‎‎مثال ـ متد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");

--(go to editor for change code and run)


Previous >    <Next