جسٹسکریپٹ کا فنکشن ایپلی
- پچھلے بجائی جسٹا اسکریپٹ فنکشن کال
- پائیدار بھیجنا جسٹا اسکریپٹ فنکشن بائنڈنگ
روشها استفاده مجدد کنید
از طریق 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()
اگر کسی طریقی کا پہلے پارامتر اوبجیکٹ نہیں ہوتا تو وہ کسی فنکشن کی صاحب اوبجیکٹ بن جائے گا (اوبجیکٹ)۔ 'غیر سخت' موڈ میں وہ عالمی اوبجیکٹ بن جائے گا۔
- پچھلے بجائی جسٹا اسکریپٹ فنکشن کال
- پائیدار بھیجنا جسٹا اسکریپٹ فنکشن بائنڈنگ