जावास्क्रिप्ट फ़ंक्शन कॉल
विधि पुन: उपयोग
विधि के साथ call()
, आप एक ऐसी विधि लिख सकते हैं जिसका उपयोग विभिन्न वस्तुओं पर किया जा सकता है।
सभी फंक्शन मेथड्स हैं
जावास्क्रिप्ट में सभी फंक्शन ऑब्जेक्ट मेथड हैं।
यदि कोई फ़ंक्शन जावास्क्रिप्ट ऑब्जेक्ट की विधि नहीं है, तो यह वैश्विक ऑब्जेक्ट का फ़ंक्शन है (पिछले अध्याय को देखें)।
नीचे दिया गया उदाहरण 3 गुणों वाला एक ऑब्जेक्ट बनाता है, पहला नाम, अंतिम नाम, पूर्ण नाम।
उदाहरण
const myObject = {
firstName:"John",
lastName: "Doe",
fullName: function () {
return this.firstName + " " + this.lastName;
}
}
// This will return "John Doe":
myObject.fullName();
यह कीवर्ड _
फ़ंक्शन परिभाषा में, फ़ंक्शन this
के "स्वामी" को संदर्भित करता है।
ऊपर दिए गए उदाहरण में, this
क्या वह व्यक्ति ऑब्जेक्ट है जो पूर्णनाम फ़ंक्शन का "मालिक" है
।
दूसरे शब्दों में, this.firstName का अर्थ इस ऑब्जेक्ट की firstName प्रॉपर्टी है ।
JS this Keywordthis
पर कीवर्ड के बारे में और पढ़ें ।
जावास्क्रिप्ट कॉल () विधि
विधि एक call()
पूर्वनिर्धारित जावास्क्रिप्ट विधि है।
इसका उपयोग किसी स्वामी ऑब्जेक्ट के साथ एक तर्क (पैरामीटर) के रूप में एक विधि को कॉल (कॉल) करने के लिए किया जा सकता है।
के साथ call()
, एक वस्तु किसी अन्य वस्तु से संबंधित विधि का उपयोग कर सकती है।
यह उदाहरण व्यक्ति 1 पर इसका उपयोग करते हुए व्यक्ति की पूर्ण नाम विधि को कॉल करता है :
उदाहरण
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);
यह उदाहरण व्यक्ति 2 पर इसका उपयोग करते हुए व्यक्ति की पूर्ण नाम विधि को कॉल करता है :
उदाहरण
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);
तर्क के साथ कॉल () विधि
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");