Monday 15 February 2010

javascript - Call a method of the same object -


मेरे पास दो कार्यों के साथ एक जेएस वस्तु है mySecondFunction () से myFirstFunction () कॉल करने का सही तरीका क्या है? यह होना चाहिए। MySecondFunction ()? या MyObject.mySecondFunction ()?

मैंने सोचा कि मैं "यह" का प्रयोग करूँगा, लेकिन अगर यह एक ईवेंट हैंडलर के अंदर है, तो "यह" DOM ​​तत्व को संदर्भित करता है और वस्तु के लिए नहीं: (

 < Code> var MyObject = {firstFunction: function () {whatgoeshere ???। MySecondFunction ();}, secondFunction: फ़ंक्शन () {console.log ('हाय!');}}   < / Div> 

<पूर्व> var MyObject = {firstFunction: function () {this.mySecondFunction ();}, secondFunction: function () {Console.log ('हाय!');}, MySecondFunction: फ़ंक्शन () {चेतावनी ('हाय!');}} MyObject.firstFunction ();

उपरोक्त है जो आप करना चाहते थे

  // कन्स्ट्रक्टर फ़ंक्शन को घोषित करना MyObject () {this.someProperty = 'whatever';} // घोषित करने वाले इंस्टेंस विधियों MyObject.prototype = {FirstFunction: function () {this.secondFunction ()}}, secondFunction: फ़ंक्शन () {चेतावनी ("कूल");}}; var am = new MyObject (); amfirstfunction ();  < / पूर्व> 

यह भी परिभाषित करने के लिए एक अच्छा विचार है प्रोटोटाइप ऑब्जेक्ट का उपयोग करके आपके प्रकार के तरीकों, जो कन्स्ट्रक्टर फ़ंक्शन के गुण हैं। यह का मूल्य वह नया ऑब्जेक्ट होगा जिसे आप आरंभ करने का प्रयास कर रहे हैं।

No comments:

Post a Comment