जेवास्क्रिप्ट फ़ंक्शन एप्लाय

विधा पुनर्व्यवस्थित

द्वारा 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() मेथड का पहला पारामीटर ऑब्जेक्ट नहीं होता है, तो यह बुलाए गए फ़ंक्शन का मालिक (ऑब्जेक्ट) बन जाएगा।"नॉन-स्ट्रिंग" मोड में, यह ग्लोबल ऑब्जेक्ट बन जाएगा。