मेरे 2 ¢! वास्तव में, इस कारण का हिस्सा मैं इसे यहां फेंक रहा हूं, उत्तर की लंबी सूची के बावजूद, थोड़ा और अधिक all in one
प्रकार का समाधान प्रदान करना है और भविष्य में कुछ फ़ीड वापस प्राप्त करना है कि इसे और अधिक कैसे शामिल किया जाए real types
।
निम्नलिखित समाधान के साथ, उपर्युक्त के रूप में, मैंने यहां पाए गए कुछ समाधानों को संयुक्त किया, साथ ही यदि उपलब्ध हो तो jQuery परिभाषित वस्तु पर एक मूल्य वापस करने के लिए एक निर्धारण शामिल करें । मैं मूल वस्तु प्रोटोटाइप के लिए विधि भी जोड़ता हूं। मुझे पता है कि यह अक्सर वर्जित है, क्योंकि यह ऐसे अन्य एक्सटेंशन के साथ हस्तक्षेप कर सकता है, लेकिन मैं इसे छोड़ देता हूं । यदि आपको ऐसा करने का यह तरीका पसंद नहीं है, तो बस आधार फ़ंक्शन को कहीं भी कॉपी करें और पास करने के लिए एक तर्क पैरामीटर के साथ सभी चर को बदलें (जैसे तर्क [0])।jQueryuser beware
this
;(function() { // Object.realType
function realType(toLower) {
var r = typeof this;
try {
if (window.hasOwnProperty('jQuery') && this.constructor && this.constructor == jQuery) r = 'jQuery';
else r = this.constructor && this.constructor.name ? this.constructor.name : Object.prototype.toString.call(this).slice(8, -1);
}
catch(e) { if (this['toString']) r = this.toString().slice(8, -1); }
return !toLower ? r : r.toLowerCase();
}
Object['defineProperty'] && !Object.prototype.hasOwnProperty('realType')
? Object.defineProperty(Object.prototype, 'realType', { value: realType }) : Object.prototype['realType'] = realType;
})();
तो बस आराम से उपयोग करें, जैसे:
obj.realType() // would return 'Object'
obj.realType(true) // would return 'object'
नोट: 1 तर्क पास करने योग्य है। यदि बूल है true
, तो वापसी हमेशा लोअरकेस में होगी ।
और ज्यादा उदाहरण:
true.realType(); // "Boolean"
var a = 4; a.realType(); // "Number"
$('div:first').realType(); // "jQuery"
document.createElement('div').realType() // "HTMLDivElement"
यदि आपके पास ऐसा कुछ जोड़ने के लिए है जो शायद सहायक हो, जैसे कि किसी ऑब्जेक्ट को किसी अन्य लाइब्रेरी (Moo, Proto, Yui, Dojo, आदि ...) के साथ परिभाषित किया गया हो, तो कृपया इसे टिप्पणी या संपादित करने के लिए स्वतंत्र महसूस करें और इसे और अधिक जारी रखें सटीक और सटीक। या GitHubइसके लिए किए गए I से अधिक रोल करें और मुझे बताएं। आपको वहां cdn मिन फ़ाइल में एक त्वरित लिंक भी मिलेगा।
typeof new RegExp(/./); // "function"
Chrome में समस्या Chrome 14.