- function testType() {
- var a = 123;
- var b = "123";
- var c = [];
- var d = {};
- var e = function(){};
- alert(a.constructor === Number);//true
- alert(b.constructor === String);//true
- alert(c.constructor === Array);//true
- alert(d.constructor === Object);//true
- alert(e.constructor === Function);//true
- var t1 = typeOf(new Date());//date
- var t2 = typeOf(123); //number
- var t3 = typeOf('123'); //string
- var t4 = typeOf(undefined); //undefined
- var t4 = typeOf(true); //boolean
- var t6 = typeOf({}); //object
- var t7 = typeOf([]); //array
- var t8 = typeOf(function(){}); //function
- var t9 = typeOf(/\\d/);//regexp
- var t10 = typeOf(null);//null
- }
- /**
- * 返回 value 的类型
- */
- function typeOf(value) {
- if (null === value) {
- return 'null';
- }
- var type = typeof value;
- if ('undefined' === type || 'string' === type) {
- return type;
- }
- var typeString = Object.prototype.toString.call(value);
- switch (typeString) {
- case '[object Array]':
- return 'array';
- case '[object Date]':
- return 'date';
- case '[object Boolean]':
- return 'boolean';
- case '[object Number]':
- return 'number';
- case '[object Function]':
- return 'function';
- case '[object RegExp]':
- return 'regexp';
- case '[object Object]':
- if (undefined !== value.nodeType) {
- if (3 == value.nodeType) {
- return (/\\S/).test(value.nodeValue) ? 'textnode': 'whitespace';
- } else {
- return 'element';
- }
- } else {
- return 'object';
- }
- default:
- return 'unknow';
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/1509201410376.html
来源: http://www.codesnippet.cn/detail/1509201410376.html