您的位置:首页 > 其它

判断基本数据类型和引用类型的封装函数

2012-10-12 13:55 344 查看
function typeOf(value) {
var type,toString=Object.prototype.toString,
typeToString;

if (value === null) {
return 'null';
}

type = typeof value;

if (type === 'undefined' || type === 'string' || type === 'number' || type === 'boolean') {
return type;
}

typeToString = toString.call(value);

switch(typeToString) {
case '[object Array]':
return 'array';
case '[object Date]':
return 'date';
case '[object Boolean]':
return 'boolean';
case '[object Number]':
return 'number';
case '[object RegExp]':
return 'regexp';
}

if (type === 'function') {
return 'function';
}

if (type === 'object') {
if (value.nodeType !== undefined) {
if (value.nodeType === 3) {
return (/\S/).test(value.nodeValue) ? 'textnode' : 'whitespace';
}
else {
return 'element';
}
}

return 'object';
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: