نسخة الكود كما يلي:
/**
* param: o يمثل القيمة المكتشفة
* إرجاع: إرجاع السلسلة "غير المحددة" أو "الرقم" أو "Boolean" أو "String" و "Function" أو "regexp" أو "Array" أو "Date" أو "Error" أو "Object" أو "NULL"
*/
وظيفة typeof (o) {
var _toString = object.prototype.toString ؛ // احصل على مرجع طريقة TOSTRING () للكائن
// اذكر أنواع البيانات الأساسية وأنواع الكائنات المدمجة ، ويمكنك مزيد من استكمال نطاق نوع بيانات الكشف في المصفوفة
var _type = {
"غير محدد": "غير محدد" ،
"الرقم": "الرقم" ،
"منطقية": "منطقية" ،
"سلسلة": "سلسلة" ،
"[وظيفة الكائن]": "الوظيفة" ،
"[Object regexp]": "regexp" ،
"[صفيف الكائن]": "صفيف" ،
"[تاريخ الكائن]": "التاريخ" ،
"[خطأ الكائن]": "خطأ"
}
إرجاع _type [typeof o] || _type [_toString.call (o)] || (يا؟ "كائن": "null") ؛ // الكشف عن طريق تحويل القيمة إلى سلسلة ثم مطابقة سلسلة الإرجاع تحتوي على حرف محدد
}
// مثال على التطبيق:
var a = math.abs ؛
تنبيه (typeof (a)) ؛ // إرجاع السلسلة "وظيفة"
الكود بسيط للغاية ، والتعليمات كلها في التعليقات ، لذلك لن أتحدث كثيرًا هنا. إذا كان لديك نفس الاحتياجات ، فيرجى الرجوع إليها بنفسك.