2011-11-20 3 views
7

के सभी उदाहरण विधियां प्राप्त करें मेरे पास कॉफीस्क्रिप्ट ऑब्जेक्ट है और मैं इसके सभी इंस्टेंस विधियों को प्राप्त करना चाहता हूं।कॉफीस्क्रिप्ट ऑब्जेक्ट

क्या ऐसा करने का कोई आसान तरीका है?

उत्तर

2
instanceMethods = (v for k, v of object when typeof v is "function") 

See this

+1

ग्रेट दिमाग एक जैसे (लगभग) सोचते हैं;) इसके अलावा, यह दो कारणों से आप जो कुछ भी चाहते हैं वह नहीं है: (1) आपके पास 'if' है जब आपका मतलब' कब 'है, जिसके परिणामस्वरूप वाक्यविन्यास त्रुटि होगी (जब तक 'v' परिभाषित नहीं किया जाता), (2) यहां 'स्वयं' का उपयोग करने से कुछ भी स्पष्ट रूप से परिभाषित नहीं किया जाएगा वस्तु पर स्वयं दिखाई नहीं देगा। –

8

के रूप में वे अब प्रयोग कर रहे हैं निम्नलिखित CoffeeScript कोड आप उदाहरण के तरीकों के सभी प्राप्त कर सकते हैं:

keys = (k for k, v of obj when typeof v is 'function') 

@ thejh के समाधान आप अधिक से अधिक सिर्फ कार्यों देने के लिए और नहीं करता होगा ' सभी जेएस प्लेटफॉर्म में काम नहीं करते हैं, लेकिन अन्यथा सही है। यह भी ध्यान रखें कि एक कॉफीस्क्रिप्ट ऑब्जेक्ट एक जावास्क्रिप्ट ऑब्जेक्ट है - वास्तव में कोई भेद नहीं है।