আমার 2 ¢! সত্যিই, উত্তরগুলির দীর্ঘ তালিকা থাকা সত্ত্বেও আমি এটিকে এখানে ফেলে দেওয়ার কারণগুলির একটি অংশ হ'ল আরও কিছু all in oneধরণের সমাধান সরবরাহ করা এবং কীভাবে আরও যুক্ত করার জন্য এটি প্রসারিত করা যায় সে সম্পর্কে ভবিষ্যতে কিছুটা ফিড ফিরে পাওয়া real types।
নিম্নলিখিত সমাধান হিসাবে, পূর্বোক্ত হিসাবে, আমি এখানে পাওয়া বেশ কয়েকটি সমাধান একত্রিত করেছি, পাশাপাশি যদি উপলব্ধ থাকে তবে jQuery সংজ্ঞায়িত অবজেক্টের মান ফেরত দেওয়ার জন্য একটি সংশোধন করেছি । আমি দেশীয় অবজেক্ট প্রোটোটাইপটিতেও এই পদ্ধতিটি যুক্ত করি। আমি জানি যে এটি প্রায়শই নিষিদ্ধ, কারণ এটি অন্যান্য অন্যান্য এক্সটেনশনে হস্তক্ষেপ করতে পারে, তবে আমি তা ছেড়ে চলেছি । যদি আপনি এটি করার এই পদ্ধতিটি পছন্দ না করেন তবে কেবল বেস ফাংশনটি আপনার পছন্দ মতো অনুলিপি করুন এবং পাস করার জন্য একটি আর্গুমেন্ট প্যারামিটারের সাথে সমস্ত ভেরিয়েবল প্রতিস্থাপন করুন (যেমন আর্গুমেন্ট [0])।jQueryuser bewarethis
;(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"
যদি আপনার কাছে এটি সহায়ক হতে পারে তবে যেমন অন্য কোনও লাইব্রেরি (মু, প্রোটো, ইউই, দোজো, ইত্যাদি ...) দিয়ে যখন কোনও বস্তু তৈরি করা হয়েছিল তখন সংজ্ঞায়িত করার জন্য দয়া করে এটিকে মন্তব্য করতে বা সম্পাদনা করতে দ্বিধা বোধ করবেন এবং আরও চালিয়ে যেতে থাকুন সঠিক এবং নির্ভুল বা GitHubআমি এর জন্য তৈরি করাতে রোল কর এবং আমাকে জানাতে। আপনি সেখানে সিডিএন মিনিট ফাইলের একটি দ্রুত লিঙ্কও খুঁজে পাবেন।
typeof new RegExp(/./); // "function"ক্রোমে সমস্যাটি ক্রোম 14 এ স্থির হয়েছে বলে মনে হয়