function Set() { // This is the constructor
this.values = {};
this.n = 0;
this.add.apply(this, arguments); // All arguments are values to add
}
// Add each of the arguments to the set.
Set.prototype.add = function() {
/* Code to add properties to the object's values property */
return this;
};
में लागू() फ़ंक्शन की आवश्यकता क्यों है, यह 'सेट' क्लास बनाने के लिए "जावास्क्रिप्ट: द डिफिनिटिव गाइड" में उपयोग किए गए कोड की शुरुआत है। मैंने कन्स्ट्रक्टर में apply()
फ़ंक्शन की आवश्यकता को तर्कसंगत बनाने की कोशिश की है लेकिन यह मेरे जीवन के लिए इसे समझ नहीं सकता है।कन्स्ट्रक्टर
this.add.apply(this, arguments);
अगर add()
समारोह पहले से ही एक विधि 'this
' तो क्या प्रयोजन या प्रयोग के द्वारा कहा जाता है को पूरा करने कोर apply()
कार्य है। किसी को पहले से जो मुझे
http://jsfiddle.net/Marlin/Ydwgv/ को यह समझाने का प्रयास करता है धन्यवाद - जावास्क्रिप्ट से पूर्ण उदाहरण: निश्चित गाइड
ऐसा लगता है कि यह थोड़ा उद्देश्य प्रदान करता है। मैंने इसे कभी नहीं देखा है ... – Blender
इस तथ्य पर आपके विचार क्या हैं कि वे तर्क वस्तुएं पार कर रहे हैं? – ChaosPandion
आपको नहीं लगता कि यह सुनिश्चित करने के साथ कुछ भी हो सकता है कि add() प्रोटोटाइप की बजाय इंस्टेंस की संपत्ति के रूप में नहीं जोड़ा गया है? मैं समझता हूं कि इसे घोषित नहीं किया जा रहा है ...... लेकिन यह निश्चित रूप से मुझे भ्रमित कर रहा है – Marlin