मैं जावास्क्रिप्ट के मुख्य तरीकों में से एक को फिर से लिखने हूँ के नाम मिलता है:जावास्क्रिप्ट metaprogramming: वर्तमान में क्रियान्वित समारोह जो गतिशील रूप में लिखा गया था
Element.prototype._removeChild = Element.prototype.removeChild;
Element.prototype.removeChild = function(){
callback();
this._removeChild.apply(this,arguments);
}
मैं गतिशील (इस मामले "removeChild" में) विधि का नाम प्राप्त करना चाहते हैं कार्य के अंदर से गतिशील रूप से फिर से लिखा जा रहा है। मैं arguments.callee.name
का उपयोग करता हूं लेकिन ऐसा लगता है कि यह कुछ भी नहीं है, यह सोचकर कि यह सिर्फ एक अज्ञात कार्य है। मैं उस फ़ंक्शन का नाम कैसे प्राप्त करूं जो अज्ञात फ़ंक्शन को असाइन किया जा रहा है?
जावास्क्रिप्ट विधियां नहीं:
आप फिर भी समारोह एक उचित नाम है जो आप
arguments.callee.name
के रूप में उपयोग कर सकते हैं दे सकते हैं। केवल गुणों को सौंपा गया कार्य। इस मामले में, 'Element.prototype.removeChild' एक ऐसी संपत्ति है जहां इसे असाइन किया गया है, इसे एक ही समय में कहीं और सौंपा जा सकता है। यह फ़ंक्शन का नाम नहीं है, इसका नाम नहीं है। फ़ंक्शन यह नहीं जानता कि इसे कितने गुणों को सौंपा गया है या यह किस संपत्ति को सौंपा गया है। – Esailija