جسٹسکریپٹ کا فنکشن ایپلی

روش‌ها استفاده مجدد کنید

از طریق 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 بازخورد دے سکتا ہے

نوئی سائیڈ سائیڈ

جسٹا اسکریپٹ کے اندر جسٹا اسکریپٹ کا آرائیج (array) نہیں کا 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 بازخورد دے سکتا ہے

نوئی سائیڈ سائیڈ

جسٹا اسکریپٹ سخت موڈ

جسٹا اسکریپٹ سخت موڈ میں، اگر apply() اگر کسی طریقی کا پہلے پارامتر اوبجیکٹ نہیں ہوتا تو وہ کسی فنکشن کی صاحب اوبجیکٹ بن جائے گا (اوبجیکٹ)۔ 'غیر سخت' موڈ میں وہ عالمی اوبجیکٹ بن جائے گا۔