/*
* 原型链
* js判断对象所属基本数据类型【Undefined、Null、String、Number、Boolean】,引用类型【object、
* Array、RegExp、Date、Function】
*/
var hlan = {};
hlan.DataTypes = [
'[object Null]',
'[object Undefined]',
'[object Boolean]',
'[object Number]',
'[object String]',
'[object Function]',
'[object Array]',
'[object Date]',
'[object RegExp]',
'[object Object]',
];
hlan.Type = function (value) {
return Object.prototype.toString.call(value);
};
hlan.IsNull = function (value) {
return hlan.Type(value) == "[object Null]";
};
hlan.IsUndefined= function (value) {
return hlan.Type(value) == "[object Undefined]";
};
hlan.IsBoolean = function (value) {
return hlan.Type(value) == "[object Boolean]";
};
hlan.IsNumber = function (value) {
return hlan.Type(value) == "[object Number]";
};
hlan.IsString = function (value) {
return hlan.Type(value) == "[object String]";
};
hlan.IsFunction= function (value) {
return hlan.Type(value) == "[object Function]";
};
hlan.IsArray = function (value) {
return hlan.Type(value) == "[object Array]";
};
hlan.IsDate = function (value) {
return hlan.Type(value) == "[object Date]";
};
hlan.IsRegExp= function (value) {
return hlan.Type(value) == "[object RegExp]";
};
hlan.IsObject = function (value) {
return hlan.Type(value) == "[object Object]";
};
在JavaScript
里使用typeof
判断数据类型,只能区分基本类型,即:number
、string
、undefined
、boolean
、object
。
对于null
、array
、function
、object
来说,使用typeof
都会统一返回object
字符串。
要想区分对象、数组、函数、单纯使用typeof
是不行的。在JS中,可以通过Object.prototype.toString
方法,判断某个对象之属于哪种内置类型。
分为null
、string
、boolean
、number
、undefined
、array
、function
、object
、date
、math
。
用instanceof
操作符判断是否为自定义类型的实例