जेवास्क्रिप्ट फ़ंक्शन एप्लाय
- पिछला पृष्ठ JS फ़ंक्शन कॉल
- अगला पृष्ठ JS फ़ंक्शन बाइंडिंग
विधा पुनर्व्यवस्थित
द्वारा apply()
विधा, आप विभिन्न ऑब्जैक्ट के लिए विधाएँ लिख सकते हैं。
JavaScript apply() विधा
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 बहार करेगा
क्योंकि JavaScript एलिमेंट के तौर पर 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 बहार करेगा
JavaScript स्ट्रिंग मोड
JavaScript के स्ट्रिंग मोड में, अगर apply()
मेथड का पहला पारामीटर ऑब्जेक्ट नहीं होता है, तो यह बुलाए गए फ़ंक्शन का मालिक (ऑब्जेक्ट) बन जाएगा।"नॉन-स्ट्रिंग" मोड में, यह ग्लोबल ऑब्जेक्ट बन जाएगा。
- पिछला पृष्ठ JS फ़ंक्शन कॉल
- अगला पृष्ठ JS फ़ंक्शन बाइंडिंग