मैंने Dojo.declare के साथ नई ऑब्जेक्ट्स बनाई हैं। वस्तुओं के लिए ऑपरेटर == अधिभार कैसे करें?जावास्क्रिप्ट ऑब्जेक्ट्स के लिए ऑपरेटर समानता को ओवरलोड कैसे करें
उत्तर
आप ==
ओवरलोड नहीं कर सकते, लेकिन ==
एक अंतर्निहित .toString()
कॉल है, तो जो कुछ भी .toString()
रिटर्न (थोड़े) आप को प्रभावी ढंग से ==
ओवरलोड करने की अनुमति देगा:
function foo(){}
foo.prototype.toString = function(){ return 42; }
var x = new foo();
x == 42; // true
कैसे डोजो में ऐसा करने के लिए के रूप में, मैं डोजो का उपयोग नहीं करता, क्षमा करें, लेकिन यह बात यह है कि आपको जो भी ऑब्जेक्ट बनाता है उसका संदर्भ मिलता है और मेरे उदाहरण में thatObject.prototype.toString
जोड़ता है।
एक वस्तु और एक आदिम के लिए, शायद। हालांकि 'valueOf' वह है जिसे आप ओवरराइड करना चाहते हैं। लेकिन दो वस्तुओं के लिए नहीं। 'नई स्ट्रिंग (' x ')! = नया स्ट्रिंग (' x ')' इस तथ्य के बावजूद कि दोनों ऑब्जेक्ट्स 'toString' विधियां समान मान लौटाती हैं। –
@ माइक - मेह। आप सही हे। ऑब्जेक्ट समानता लागू नहीं होती है क्योंकि स्मृति पता के लिए केवल एक चेक है ... –
ऑब्जेक्ट और आदिम तुलना के लिए भी प्राथमिकता 'valueOf' कार्यान्वयन के लिए दी जाएगी। –
आप नहीं कर सकते। जावास्क्रिप्ट ऑपरेटर ओवरलोडिंग का समर्थन नहीं करता है।
आप जावा/ईसीएमएस्क्रिप्ट में नहीं जा सकते हैं। आप केवल Adobe से ExtendScript का उपयोग कर ऑपरेटरों को अधिभारित कर सकते हैं। this example देखें। यह भी देखें blog entry (प्रो), या this (अनुबंध)।
ऐसा लगता है कि केवल एक्शनस्क्रिप्ट पर लागू होता है। –
@ जोचिम सॉर: wtf? मैंने यही जवाब दिया है! ईसीएमएस्क्रिप्ट के लिए ऑपरेटर अधिभार पर चर्चा करने के लिए कुछ लिंक जोड़ना। – KooiInc
आपके पिछले शब्द ने यह स्पष्ट नहीं किया है। –
- 1. एफ # में ओवरलोड ऑपरेटर: (/)
- 2. सी ++ में यून्री माइनस ऑपरेटर को ओवरलोड कैसे करें?
- 3. समानता ऑपरेटर
- 4. टेम्पलेट ऑपरेटर ओवरलोड में संघर्ष टाइप करें
- 5. सी ++ shared_ptr समानता ऑपरेटर
- 6. संदर्भित समानता ऑपरेटर
- 7. जावास्क्रिप्ट ऑब्जेक्ट्स के लिए जेएसओएन ऑब्जेक्ट्स मैपिंग
- 8. फ़ंक्शन ऑब्जेक्ट्स ओवरलोड रिज़ॉल्यूशन को कैसे प्रभावित करते हैं?
- 9. क्या "डॉट ऑपरेटर ओवरलोड" करने के लिए कोई चाल है?
- 10. वैश्विक प्रकार के रूपांतरण ऑपरेटर को ओवरलोड करना
- 11. नया सी ++ 0x रावल्यू संदर्भ ऑपरेटर ओवरलोड
- 12. सी # स्पष्ट समानता ऑपरेटर कार्यान्वयन आवश्यक
- 13. ऑक्टवे/MATLAB: समानता के लिए structs की तुलना कैसे करें?
- 14. जावास्क्रिप्ट ऑब्जेक्ट्स के लिए पूंजीकरण सम्मेलन
- 15. परीक्षण सक्रिय समर्थन :: समानता के लिए टाइमविथज़ोन ऑब्जेक्ट्स
- 16. डेल्फी 'इन' ऑपरेटर ओवरलोड पर सेट
- 17. कैसे श्रेणी उदाहरण के लिए समानता को परिभाषित करने के?
- 18. आप रूबी केस समानता ऑपरेटर को कैसे ओवरराइड करते हैं? (===)
- 19. समानता को ठीक से कैसे ओवरराइड करें?
- 20. PHP ऑब्जेक्ट्स को जावास्क्रिप्ट
- 21. ऑब्जेक्ट्स की समानता की जांच के लिए XUnit Assertion
- 22. पायथन: ऑपरेटर एक विशिष्ट प्रकार को ओवरलोड करना
- 23. क्या डीओएम तत्व क्रॉस-ब्राउजर के लिए जावास्क्रिप्ट समानता ऑपरेटर हैं?
- 24. जावास्क्रिप्ट ऑब्जेक्ट्स का निरीक्षण कैसे करें
- 25. ऑब्जेक्ट समानता (ActiveRecord) के लिए परीक्षण कैसे करें
- 26. मैं ग्रोवी में ऑपरेटर में ओवरलोड कैसे करूं?
- 27. जटिल ऑब्जेक्ट ग्राफ़ की समानता के लिए परीक्षण कैसे करें?
- 28. दो '==' समानता ऑपरेटर एक ही 'अगर' स्थिति
- 29. डेल्फी समर्थन किस प्रकार के ऑपरेटर ओवरलोड करता है?
- 30. कैसे सी # में पोस्टफ़िक्स और उपसर्ग ऑपरेटर ओवरलोड
संभावित डुप्लिकेट [जावास्क्रिप्ट में अंकगणित ऑपरेटर ओवरलोडिंग?] (Http://stackoverflow.com/questions/1634341/overloading-arithmetic-operators-in-javascript) –
यहां: https://stackoverflow.com/q/ 10539 9 38/632951 – Pacerier