封装一个判断常用javascript数据类型的类
关于javascript 的类型
js主要有六大类型包括简单数据类型与复杂数据类型。
简单数据类型包括:Number,String,Boolean,Undefined,Null
还有一种复杂数据类型:Object,其中Array,Function也是属于对象的一种形式
代码实现如下
!(function(root) {
function CreateTypes() {}
CreateTypes.prototype = {
constructor: CreateTypes,
isWindow: function(obj) {
return obj && obj.document && obj.location && obj.alert && obj.setInterval;
},
isFunction: function(value) {
return typeof value === "function";
},
isString: function(value) {
return typeof value === "string";
},
isNumber: function(value) {
return typeof value === "number";
},
isBoolean: function(value) {
return typeof value === "boolean";
},
isUndefined: function(value) {
return typeof value === "undefined";
},
isArray: function(value) {
return Object.prototype.toString.call(value) === "[object Array]";
},
isRegExp: function(value) {
return Object.prototype.toString.call(value) === "[object RegExp]";
},
isDate: function(value) {
return Object.prototype.toString.call(value) === "[object Date]";
},
isObject: function(value) {
return Object.prototype.toString.call(value) === "[object Object]";;
},
isElement: function(node) {
return !!(node &&
(node.nodeName || (node.prop && node.attr && node.find)));
}
}
root.CreateTypes = CreateTypes;
})(global);
//实例化一个类,判断日期对象
var newType = new CreateTypes();
var date = new Date();
console.log(newType.isDate(date));//true
var date = new Object();
console.log(newType.isObject(date));//true