با عرض سلام خدمت کاربران محترم سایت پی وی لرن.
در این جلسع قصد داریم تا با تابع call در جاوا اسکریپت JavaScript یا تابع فراخوانی در javascript آشنا شویم.
با استفاده از تابع ()call در جاوا اسکریپت می توانید توابعی بنویسید که بر روی اشیا مختلف اجرا شود.
در جاوا اسکریپت تمام توابع، متد های اشیا هستند.
اگر یک تابع متد یک شی جاوا اسکریپت نباشد، تابع شی سراسری است.(شی سراسری در مرورگر های وب شی window می باشد)
مثال زیر یک شی را با سه خاصیت ایجاد می کند:
1 2 3 4 5 6 7 8 | var person = { firstName:"John", lastName: "Doe", fullName: function () { return this.firstName + " " + this.lastName; } } person.fullName(); // Will return "John Doe" |
این کلمه در یک تابع، صاحب تابع را مشخص می کند.
در مثال بالا شی person صاحب تابع fullName می باشد.
به عبارت دیگر دیگر دستور this.firstName به خاصیت firstName شی person اشاره می کند.
تابع call در جاوا اسکریپت یک تابع از پیش تعریف شده است.
این تابع برای فراخوانی متد یک شی با اشیا دیگر به صورت پارامتر استفاده می شود.
با این متد یک شی می تواند از متد شی دیگری استفاده کند.
در مثال زیر ما در واقع از متد شیء person برای شی person1 استفاده کرده ایم:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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" |
مثال زیر نیز همین کار را برای شیء person2 انجام می دهد:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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 می تواند آرگومان نیز بگیرد:
1 2 3 4 5 6 7 8 9 10 | 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"); |
جلسه کار با تابع call در جاوا اسکریپت JavaScript نیز به پایان رسید.
در جلسه بعد به آموزش کار با تابع apply در جاوا اسکریپت خواهیم پرداخت. با ما همراه باشید