/**
* 怎么检测一个变量的类型?
* 在js中检测对象类型主要有三种:typeof, instanceof, constructor, 这几种都可以检测对象的类型.
* 另外还可以适应jQuery来检测类型.
* */ /**
* 1.使用typeof检测对象类型
* typeof作为最常用的检测类型方法,返回字符串类型;
* */
function testType(value) {
var str = typeof(value);
switch(str){
case 'undefined': //undefined类型
console.log(str);
break;
case 'object': //null类型, 任意内置对象, 数组
console.log(str);
break;
case 'boolean': //true, false类型
console.log(str);
break;
case 'string': //string字符串类型
console.log(str);
break;
case 'function': //任意函数
console.log(str);
break;
case 'number'://任意的数值类型,包含NaN
console.log(str);
break;
}
}
testType(111);
/**
* 可以看出typeof对于基本类型可以测试出类型,但是对于其他的,包括日期, 数组等等大多都返回object类型,而且null也返回的是object类型,也就是没有办法知道确切类型.
* */

另一种改进的检测方法, 是使用默认的toString(), 继承自Object,可以返回类型信息.

     function classof(o){
if(o === null) return "Null";
if(o === undefined) return "Undefined";
return Object.prototype.toString.call(o).slice(8,-1);//获取对象类型
}

那为什么不直接用 a.toString() 而要用 Object.prototype.toString.call(a) ?

aaarticlea/png;base64,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" alt="" />

如果是数组或者函数,结果会是怎么样?

aaarticlea/png;base64,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" alt="" />

原因是:直接使用toString()有可能这个方法被重写了, 而不是默认的. 使用Object.prototype.toString().call(o).slice(8,-1);得到的结果更加可靠!

完整代码:

 function classof(o){
if(o === null) return "Null";
if(o === undefined) return "Undefined";
return Object.prototype.toString.call(o).slice(8,-1);//获取对象类型
}
function testType(value) {
var str = classof(value);
console.log(str);
switch(str){
case 'undefined': //undefined类型
console.log(str);
break;
case 'object': //null类型, 任意内置对象, 数组
console.log(str);
break;
case 'boolean': //true, false类型
console.log(str);
break;
case 'string': //string字符串类型
console.log(str);
break;
case 'function': //任意函数
console.log(str);
break;
case 'number'://任意的数值类型,包含NaN
console.log(str);
break;
case 'Date': //日期
console.log(str);
break;
case 'Array': //数组
console.log(str);
break;
case 'RegExp': //正则
console.log(str);
break;
}
}
//testType(function(){console.log(this)});//function
testType();

可以看到改进了一部分

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhcAAABLCAIAAABMaDK6AAAGoUlEQVR4nO3bP2vjSBjH8X0RBoPZWwwhYAxLzDYuAubgCG4Dro4l7s7LuQqL2MJNQJDGjXsbFvIWXFxxKe4F3Cvwu7lCkjWjeUYaPfEf+fJdPkUykUfSzGh+Gsn7odXuFPz19z8F7jaH8nnwpfNL93j1AwCO6oNbdMoU+R79+P3rA0ECABfq/ClCkKDRBvPFy3Y2PuiWDXTRB4+zakSKhAXJcLLcrl4S68mg02p3RtG+ZLuK7lvtTmsc5yXGlpL72Us8Ci33bVxPf7peTIf+wv05HmBfTruZdb79dOrUsO+U5bzv6UpPofknY3eD+cKqsKyR+9O1fxgEnMXhU+SNjX+coVg7RQ5zGDUvQ9cxLhnU05QUqQqS4WSZ5YRhFPnGfcgQPH2KBNZ8qOuzpM7TpUh/uhbn+tQ4dru1UNifrldRbOxuOFmmP4+irZPKhQMbTpbxaBy74X20pj5Y0x3n44eqpCEpctiDgUaDUuR79OPz4Iu85TgWZ6K3p8hkuk7uf5N6rMVNtr4RCwsfd27rhJvfqoWI/+D3t9723WJ+YNmcax6q3TJCihTO3bsjozA5VE+DiOeez/ii6jYZzBcv8cjTof3puhBCwi12dN8azBfm+DHOKL2HHceLKF68bFfL+STan753Gef0u+eOOLjpRtF6Mi4usNze9La81HFinVIrhZ+m1HTpxvbex/F+/defrksXCqGXoaePwq93HEuDUuTX3+58m+0ni3462oQnWvZkFJgi2QC1ZpnwFYOZKMbUKafIcLIMLHRn/Gwbo+ZRJCzOcunkW1Kne+7ijsQj9Ldw4dwH80V2zdt9lM071uzmFg4ny2SykHfn3EYUj7Y/XWd5sC83Oyurdhyv0qzaLqZDe5INaTpxyxpNN4qs8CjeG1m9KQ5FzwiR6wwcdaUjJN/evFEwKkkXlJVXYvBlWKOPcFJNSZGSCGkJt075dXKgJ1q+n0sqNEv2k51fwKMbeV/2Ntkp27llbizcKrrHL52vvKM0uasXTCLrabt0zOIqMys0lhrC7oRnZcX2zIdKPoSsbQrnnv5alSK+oVI8yPCmk0ey3JvS9Cp1nPfqCBl11SMkK7RWJ9Y7reT0q961BF+GNfoIJ9WIFCmPkFa7MNc0M0VKXuP7Ngi7V/WmiHiQ7q1i5a8VKZJIV4HuJFLOvluX+kuMw6TQfN9efFwjvW5x2rMwwSXbnzBFwpuuqmVCptdiVZ6rI3CFVCdFPO+9+tN4FglPLP37JUUu0plT5I9vf1ZHSLvTypaxrXbnJCnim9c8H0/X2tmf3Cda4pXmvfzsgzdrs59XSDe55rO+mini2ZHngD2LIeG9iPgoKVO6FvG1ifzG3mlPeaLJnw4ZX/06ZoqENF15iti96XzcP0KEqyNw1HlHiNN07fuZuOBIm9RZpo9j/yuN0suQFGmqM6dIHfczZ9UsfNM331idIvu3L1adTqF5PO47VesCEK9nz8Th3Du3zScbZrXGxs7b9cV0PjMucqdOz7kLOxKavaSV5AQtriSMOq251S30dZa5QEnLpXckxS8jmM/oVi/b2bh8LRLedL4tQ5vON0Kc3vS0vDRC3jbq5BEiNJ3dxfmCz+6vfMYPTRHnNGv0EU7qglKkaYJvf+otRKBCe9JKOBNSRI1FNAC84xQpvLYF8P9w9rnlvXm/KQIAeDtSBACgR4oAAPRIEQCAnpAi/zr/zn6UAIBmIkUAAHqkCABAjxQBAOiRIgAAPVIEAKBHigAA9M6aIjfd103v513y68en5/3Pro9Pz73dprfbXD1UFAIATufcKfJ8/frcvW13qlIk8emnEBhiIQDgFM6eIt2nxyQ89ilipkIhIUgRAGiW86fI7U339fETKQIAl6gBKdLuPDxeP92QIgBweRqRIq27q91jlxQBgIvTjBRpf3x6vn7NU+T66abTanceHgvfvyJFAKBZGpIindbd1S771u/t1+vdprfb9F6/drOE+PRzk3ypt7fb9Hbpp8RCAMDp8L8OAQB6pAgAQI8UAQDokSIAAD1SBACgR4oAAPRIEQCAnpAiAAAEIkUAAHqkCABAjxQBAOiRIgAAPVIEAKBHigAA9EgRAIAeKQIA0CNFAAB6pAgAQI8UAQDokSIAAD1SBACgR4oAAPRIEQCAHikCANAjRQAAeqQIAECPFAEA6JEiAAA9UgQAoEeKAAD0SBEAgB4pAgDQI0UAAHqkCABAjxQBAOiRIgAAPVIEAKBHigAA9EgRAIAeKQIA0CNFAAB6pAgAQO8/dMVkwUjf+ZYAAAAASUVORK5CYII=" alt="" />

2.使用instanceof检测对象类型

对于typeof()检测为Object类型的可以使用instanceof进一步检测具体类型.instanceof实际上检测的是对象的原型.

可以检测变量是不是某个对象的实例,返回bool值.

 var value = new Date();
var isDate = value instanceof Date;
console.log(isDate);//true

3.使用constructor检测对象类型

constructor相当于检测构造函数,返回的是一个函数.

     function testconstructor(value) {
var str = value.constructor;
console.log(value.constructor);
switch(str){
case Number:
console.log(str);
break;
}
}
testconstructor(111); //function Number()

如果需要检测一个对象的确切类型,可以综合使用这三种方法:

 function type(o) {
var t, c, n;//type class name
//null类型
if(o === null) return "null";
//是数值中的特殊类型:NaN
if(o !== o) return "nan";
//使用typeof检测除去 "object" 类型为的其他类型.
if((t = typeof o) !== "object") return t;
//typeof检测为"object"类型,则进一步检测
//可以检测出大部分内置类型
if((c = classof(o)) !== "Object") return c;
//classof(o)返回为"Object"时,检测constructor
if(o.constructor && typeof o.constructor === "function" && (n = o.constructor.getName())) return n;
//无法识别的其他类型,默认为"Object"
return "Object";
}
function classof(o) {
return Object.prototype.toString.call(o).slice(8,-1);
}; //返回function的名称, 可能为""或者 null
Function.prototype.getName = function() {
if ("name" in this) return this.name;
return this.name = this.toString().match(/function\s*([^(]*)\(/)[1];
};
type(NaN);

还可以用jQuery来检测类型,常用的方法如下:

jQuery.isArray(obj);//检测对象是否是数组

     jQuery.isFunction(obj);//测试对象是否为函数。
jQuery.isEmptyObject(obj);// jQuery 1.4 中,这个方法既检测对象本身的属性,也检测从原型继承的属性(因此没有使用hasOwnProperty)。
jQuery.isPlainObject(obj);// 测试对象是否是纯粹的对象(通过 "{}" 或者 "new Object" 创建的)。
jQuery.isWindow(obj);// 测试对象是否是窗口(有可能是Frame)。
jQuery.type(obj);// 检测obj的数据类型。
jQuery.isNumeric(value);// 确定它的参数是否是一个数字,包含16进制数

---恢复内容结束---

     /**
* 怎么检测一个变量的类型?
* 在js中检测对象类型主要有三种:typeof, instanceof, constructor, 这几种都可以检测对象的类型.
* 另外还可以适应jQuery来检测类型.
* */ /**
* 1.使用typeof检测对象类型
* typeof作为最常用的检测类型方法,返回字符串类型;
* */
function testType(value) {
var str = typeof(value);
switch(str){
case 'undefined': //undefined类型
console.log(str);
break;
case 'object': //null类型, 任意内置对象, 数组
console.log(str);
break;
case 'boolean': //true, false类型
console.log(str);
break;
case 'string': //string字符串类型
console.log(str);
break;
case 'function': //任意函数
console.log(str);
break;
case 'number'://任意的数值类型,包含NaN
console.log(str);
break;
}
}
testType(111);
/**
* 可以看出typeof对于基本类型可以测试出类型,但是对于其他的,包括日期, 数组等等大多都返回object类型,而且null也返回的是object类型,也就是没有办法知道确切类型.
* */

另一种改进的检测方法, 是使用默认的toString(), 继承自Object,可以返回类型信息.

     function classof(o){
if(o === null) return "Null";
if(o === undefined) return "Undefined";
return Object.prototype.toString.call(o).slice(8,-1);//获取对象类型
}

那为什么不直接用 a.toString() 而要用 Object.prototype.toString.call(a) ?

aaarticlea/png;base64,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" alt="" />

如果是数组或者函数,结果会是怎么样?

aaarticlea/png;base64,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" alt="" />

原因是:直接使用toString()有可能这个方法被重写了, 而不是默认的. 使用Object.prototype.toString().call(o).slice(8,-1);得到的结果更加可靠!

完整代码:

 function classof(o){
if(o === null) return "Null";
if(o === undefined) return "Undefined";
return Object.prototype.toString.call(o).slice(8,-1);//获取对象类型
}
function testType(value) {
var str = classof(value);
console.log(str);
switch(str){
case 'undefined': //undefined类型
console.log(str);
break;
case 'object': //null类型, 任意内置对象, 数组
console.log(str);
break;
case 'boolean': //true, false类型
console.log(str);
break;
case 'string': //string字符串类型
console.log(str);
break;
case 'function': //任意函数
console.log(str);
break;
case 'number'://任意的数值类型,包含NaN
console.log(str);
break;
case 'Date': //日期
console.log(str);
break;
case 'Array': //数组
console.log(str);
break;
case 'RegExp': //正则
console.log(str);
break;
}
}
//testType(function(){console.log(this)});//function
testType();

可以看到改进了一部分

aaarticlea/png;base64,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" alt="" />

2.使用instanceof检测对象类型

对于typeof()检测为Object类型的可以使用instanceof进一步检测具体类型.instanceof实际上检测的是对象的原型.

可以检测变量是不是某个对象的实例,返回bool值.

 var value = new Date();
var isDate = value instanceof Date;
console.log(isDate);//true

3.使用constructor检测对象类型

constructor相当于检测构造函数,返回的是一个函数.

     function testconstructor(value) {
var str = value.constructor;
console.log(value.constructor);
switch(str){
case Number:
console.log(str);
break;
}
}
testconstructor(111); //function Number()

如果需要检测一个对象的确切类型,可以综合使用这三种方法:

 function type(o) {
var t, c, n;//type class name
//null类型
if(o === null) return "null";
//是数值中的特殊类型:NaN
if(o !== o) return "nan";
//使用typeof检测除去 "object" 类型为的其他类型.
if((t = typeof o) !== "object") return t;
//typeof检测为"object"类型,则进一步检测
//可以检测出大部分内置类型
if((c = classof(o)) !== "Object") return c;
//classof(o)返回为"Object"时,检测constructor
if(o.constructor && typeof o.constructor === "function" && (n = o.constructor.getName())) return n;
//无法识别的其他类型,默认为"Object"
return "Object";
}
function classof(o) {
return Object.prototype.toString.call(o).slice(8,-1);
}; //返回function的名称, 可能为""或者 null
Function.prototype.getName = function() {
if ("name" in this) return this.name;
return this.name = this.toString().match(/function\s*([^(]*)\(/)[1];
};
type(NaN);

还可以用jQuery来检测类型,常用的方法如下:

jQuery.isArray(obj);//检测对象是否是数组

     jQuery.isFunction(obj);//测试对象是否为函数。
jQuery.isEmptyObject(obj);// jQuery 1.4 中,这个方法既检测对象本身的属性,也检测从原型继承的属性(因此没有使用hasOwnProperty)。
jQuery.isPlainObject(obj);// 测试对象是否是纯粹的对象(通过 "{}" 或者 "new Object" 创建的)。
jQuery.isWindow(obj);// 测试对象是否是窗口(有可能是Frame)。
jQuery.type(obj);// 检测obj的数据类型。
jQuery.isNumeric(value);// 确定它的参数是否是一个数字,包含16进制数

---恢复内容开始---

     /**
* 怎么检测一个变量的类型?
* 在js中检测对象类型主要有三种:typeof, instanceof, constructor, 这几种都可以检测对象的类型.
* 另外还可以适应jQuery来检测类型.
* */ /**
* 1.使用typeof检测对象类型
* typeof作为最常用的检测类型方法,返回字符串类型;
* */
function testType(value) {
var str = typeof(value);
switch(str){
case 'undefined': //undefined类型
console.log(str);
break;
case 'object': //null类型, 任意内置对象, 数组
console.log(str);
break;
case 'boolean': //true, false类型
console.log(str);
break;
case 'string': //string字符串类型
console.log(str);
break;
case 'function': //任意函数
console.log(str);
break;
case 'number'://任意的数值类型,包含NaN
console.log(str);
break;
}
}
testType(111);
/**
* 可以看出typeof对于基本类型可以测试出类型,但是对于其他的,包括日期, 数组等等大多都返回object类型,而且null也返回的是object类型,也就是没有办法知道确切类型.
* */

另一种改进的检测方法, 是使用默认的toString(), 继承自Object,可以返回类型信息.

     function classof(o){
if(o === null) return "Null";
if(o === undefined) return "Undefined";
return Object.prototype.toString.call(o).slice(8,-1);//获取对象类型
}

那为什么不直接用 a.toString() 而要用 Object.prototype.toString.call(a) ?

aaarticlea/png;base64,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" alt="" />

如果是数组或者函数,结果会是怎么样?

aaarticlea/png;base64,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" alt="" />

原因是:直接使用toString()有可能这个方法被重写了, 而不是默认的. 使用Object.prototype.toString().call(o).slice(8,-1);得到的结果更加可靠!

完整代码:

 function classof(o){
if(o === null) return "Null";
if(o === undefined) return "Undefined";
return Object.prototype.toString.call(o).slice(8,-1);//获取对象类型
}
function testType(value) {
var str = classof(value);
console.log(str);
switch(str){
case 'undefined': //undefined类型
console.log(str);
break;
case 'object': //null类型, 任意内置对象, 数组
console.log(str);
break;
case 'boolean': //true, false类型
console.log(str);
break;
case 'string': //string字符串类型
console.log(str);
break;
case 'function': //任意函数
console.log(str);
break;
case 'number'://任意的数值类型,包含NaN
console.log(str);
break;
case 'Date': //日期
console.log(str);
break;
case 'Array': //数组
console.log(str);
break;
case 'RegExp': //正则
console.log(str);
break;
}
}
//testType(function(){console.log(this)});//function
testType();

可以看到改进了一部分

aaarticlea/png;base64,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" alt="" />

2.使用instanceof检测对象类型

对于typeof()检测为Object类型的可以使用instanceof进一步检测具体类型.instanceof实际上检测的是对象的原型.

可以检测变量是不是某个对象的实例,返回bool值.

 var value = new Date();
var isDate = value instanceof Date;
console.log(isDate);//true

3.使用constructor检测对象类型

constructor相当于检测构造函数,返回的是一个函数.

     function testconstructor(value) {
var str = value.constructor;
console.log(value.constructor);
switch(str){
case Number:
console.log(str);
break;
}
}
testconstructor(111); //function Number()

如果需要检测一个对象的确切类型,可以综合使用这三种方法:

 function type(o) {
var t, c, n;//type class name
//null类型
if(o === null) return "null";
//是数值中的特殊类型:NaN
if(o !== o) return "nan";
//使用typeof检测除去 "object" 类型为的其他类型.
if((t = typeof o) !== "object") return t;
//typeof检测为"object"类型,则进一步检测
//可以检测出大部分内置类型
if((c = classof(o)) !== "Object") return c;
//classof(o)返回为"Object"时,检测constructor
if(o.constructor && typeof o.constructor === "function" && (n = o.constructor.getName())) return n;
//无法识别的其他类型,默认为"Object"
return "Object";
}
function classof(o) {
return Object.prototype.toString.call(o).slice(8,-1);
}; //返回function的名称, 可能为""或者 null
Function.prototype.getName = function() {
if ("name" in this) return this.name;
return this.name = this.toString().match(/function\s*([^(]*)\(/)[1];
};
type(NaN);

还可以用jQuery来检测类型,常用的方法如下:

jQuery.isArray(obj);//检测对象是否是数组

     jQuery.isFunction(obj);//测试对象是否为函数。
jQuery.isEmptyObject(obj);// jQuery 1.4 中,这个方法既检测对象本身的属性,也检测从原型继承的属性(因此没有使用hasOwnProperty)。
jQuery.isPlainObject(obj);// 测试对象是否是纯粹的对象(通过 "{}" 或者 "new Object" 创建的)。
jQuery.isWindow(obj);// 测试对象是否是窗口(有可能是Frame)。
jQuery.type(obj);// 检测obj的数据类型。
jQuery.isNumeric(value);// 确定它的参数是否是一个数字,包含16进制数

---恢复内容结束---

     /**
* 怎么检测一个变量的类型?
* 在js中检测对象类型主要有三种:typeof, instanceof, constructor, 这几种都可以检测对象的类型.
* 另外还可以适应jQuery来检测类型.
* */ /**
* 1.使用typeof检测对象类型
* typeof作为最常用的检测类型方法,返回字符串类型;
* */
function testType(value) {
var str = typeof(value);
switch(str){
case 'undefined': //undefined类型
console.log(str);
break;
case 'object': //null类型, 任意内置对象, 数组
console.log(str);
break;
case 'boolean': //true, false类型
console.log(str);
break;
case 'string': //string字符串类型
console.log(str);
break;
case 'function': //任意函数
console.log(str);
break;
case 'number'://任意的数值类型,包含NaN
console.log(str);
break;
}
}
testType(111);
/**
* 可以看出typeof对于基本类型可以测试出类型,但是对于其他的,包括日期, 数组等等大多都返回object类型,而且null也返回的是object类型,也就是没有办法知道确切类型.
* */

另一种改进的检测方法, 是使用默认的toString(), 继承自Object,可以返回类型信息.

     function classof(o){
if(o === null) return "Null";
if(o === undefined) return "Undefined";
return Object.prototype.toString.call(o).slice(8,-1);//获取对象类型
}

那为什么不直接用 a.toString() 而要用 Object.prototype.toString.call(a) ?

aaarticlea/png;base64,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" alt="" />

如果是数组或者函数,结果会是怎么样?

aaarticlea/png;base64,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" alt="" />

原因是:直接使用toString()有可能这个方法被重写了, 而不是默认的. 使用Object.prototype.toString().call(o).slice(8,-1);得到的结果更加可靠!

完整代码:

 function classof(o){
if(o === null) return "Null";
if(o === undefined) return "Undefined";
return Object.prototype.toString.call(o).slice(8,-1);//获取对象类型
}
function testType(value) {
var str = classof(value);
console.log(str);
switch(str){
case 'undefined': //undefined类型
console.log(str);
break;
case 'object': //null类型, 任意内置对象, 数组
console.log(str);
break;
case 'boolean': //true, false类型
console.log(str);
break;
case 'string': //string字符串类型
console.log(str);
break;
case 'function': //任意函数
console.log(str);
break;
case 'number'://任意的数值类型,包含NaN
console.log(str);
break;
case 'Date': //日期
console.log(str);
break;
case 'Array': //数组
console.log(str);
break;
case 'RegExp': //正则
console.log(str);
break;
}
}
//testType(function(){console.log(this)});//function
testType();

可以看到改进了一部分

aaarticlea/png;base64,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" alt="" />

2.使用instanceof检测对象类型

对于typeof()检测为Object类型的可以使用instanceof进一步检测具体类型.instanceof实际上检测的是对象的原型.

可以检测变量是不是某个对象的实例,返回bool值.

 var value = new Date();
var isDate = value instanceof Date;
console.log(isDate);//true

3.使用constructor检测对象类型

constructor相当于检测构造函数,返回的是一个函数.

     function testconstructor(value) {
var str = value.constructor;
console.log(value.constructor);
switch(str){
case Number:
console.log(str);
break;
}
}
testconstructor(111); //function Number()

如果需要检测一个对象的确切类型,可以综合使用这三种方法:

 function type(o) {
var t, c, n;//type class name
//null类型
if(o === null) return "null";
//是数值中的特殊类型:NaN
if(o !== o) return "nan";
//使用typeof检测除去 "object" 类型为的其他类型.
if((t = typeof o) !== "object") return t;
//typeof检测为"object"类型,则进一步检测
//可以检测出大部分内置类型
if((c = classof(o)) !== "Object") return c;
//classof(o)返回为"Object"时,检测constructor
if(o.constructor && typeof o.constructor === "function" && (n = o.constructor.getName())) return n;
//无法识别的其他类型,默认为"Object"
return "Object";
}
function classof(o) {
return Object.prototype.toString.call(o).slice(8,-1);
}; //返回function的名称, 可能为""或者 null
Function.prototype.getName = function() {
if ("name" in this) return this.name;
return this.name = this.toString().match(/function\s*([^(]*)\(/)[1];
};
type(NaN);

还可以用jQuery来检测类型,常用的方法如下:

jQuery.isArray(obj);//检测对象是否是数组

     jQuery.isFunction(obj);//测试对象是否为函数。
jQuery.isEmptyObject(obj);// jQuery 1.4 中,这个方法既检测对象本身的属性,也检测从原型继承的属性(因此没有使用hasOwnProperty)。
jQuery.isPlainObject(obj);// 测试对象是否是纯粹的对象(通过 "{}" 或者 "new Object" 创建的)。
jQuery.isWindow(obj);// 测试对象是否是窗口(有可能是Frame)。
jQuery.type(obj);// 检测obj的数据类型。
jQuery.isNumeric(value);// 确定它的参数是否是一个数字,包含16进制数

javascript中检测一个变量的类型的更多相关文章

  1. javascript 中检测数据类型的方法

    typeof 检测数据类型 javascript 中检测数据类型有好几种,其中最简单的一种是 typeof 方式.typeof 方法返回的结果是一个字符串.typeof 的用法如下: typeof v ...

  2. javascript中,一个js中的函数,第一句var _this = this;为什么要这样做?

    javascript中,一个js中的函数,第一句var _this = this;为什么要这样做? 下面是源码: 下面这段代码是常用的网站首页,自动切换span或者tabbar来变更List显示内容的 ...

  3. JAVA中如何获取变量的类型

    JAVA中如何获取变量的类型? package xiya; public class Demo { public static void main(String[] args) { String ty ...

  4. JavaScript中常用的几种类型检测方法

    javascript中类型检测方法有很多: typeof instanceof Object.prototype.toString constructor duck type 1.typeof 最常见 ...

  5. Javascript如何判断一个变量是数字类型?

    isNaN()不能判断一个变量是否为数字类型,isNaN(123)值为false,isNaN('123')值也为false.isNaN() 的实际作用跟它的名字isNaN并不一致,isNaN(NaN) ...

  6. javascript中如何判断变量类型

    typeof 只能判断基本类型,如number.string.boolean.当遇上引用类型变量就没那么好用了,结果都是object.使用Object.prototype.toString.call( ...

  7. JavaScript使用构造函数获取变量的类型名

    在JavaScript中,如何准确获取变量的类型名是一个经常使用的问题. 但是常常不能获取到变量的精确名称,或者必须使用jQuery 中的方法,这里 我通过 typeof ,jQuery.type 和 ...

  8. JavaScript基础系列(变量与类型)

    以下内容将JavaScript简称为JS 打开本文时不管你是零基础的初学者还是其他语言的老兵,我都想说程序语言的基础支撑起了整个网络世界,不把这些基础学透之后稍复杂的内容会让你寸步难行. 现在先给编程 ...

  9. 在javascript中检查一个值是否为integer

    integer 类型在javascript中很奇怪.ECMAScript技术规格说明书中,它是以概念的形式存在.number类型包括浮点型(floating )和整形(integer )不包括小数(详 ...

随机推荐

  1. C#正则表达式提取HTML中IMG标签的SRC地址(转)

    一般来说一个 HTML 文档有很多标签,比如“<html>”.“<body>”.“<table>”等,想把文档中的 img 标签提取出来并不是一件容易的事.由于 i ...

  2. 长沙Uber优步司机奖励政策(12月21日到12月27日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  3. letsencrypt证书-使用certbot申请wildcard证书

    目录 1. certbot安装 2. 认证方式 3. 运行命令 4. 更新 1:下载 2:配置 3:申请证书 4:续期证书 1. certbot安装 cd /usr/local/src wget ht ...

  4. 从细节处谈Android冷启动优化

    本文来自网易云社区 Android APP冷启动优化,对于Android开发同学而言可能是个老生常谈的技优了. 之所以花时间写一篇冷启动优化的文章: 我想从另外一个角度来说冷启动优化,如题所述,从细节 ...

  5. WeTest功能优化第2期:云真机智能投屏,调试告别鼠标

    第2期功能优化目录 [云真机视频映射]云真机画面本地映射[兼容性测试报告]新增问题机型聚类功能[新增Android9.0]同步上线最新安卓系统 本期介绍的云测产品功能优化,既有重磅级技术突破,也有报告 ...

  6. js 中常用到的封装方法

    /** * 获取URL参数 */ function getQueryString(name) { var reg = new RegExp("(^|&)" + name + ...

  7. CSS随笔3

    1. CSS部分简洁使用 * background-radious:使得边框角“圆化”. * background:pink  url(“图片路径”)  no-repeat: * border 可以有 ...

  8. Java应用基础微专业-入门篇

    第1章--用程序来做计算 1.1 第一个Java程序 Mac version: Preference -> General -> Keys -> Search "Conte ...

  9. 【转】: 探索Lua5.2内部实现:虚拟机指令(1) 概述

    Lua一直把虚拟机执行代码的效率作为一个非常重要的设计目标.而采用什么样的指令系统的对于虚拟机的执行效率来说至关重要. Stack based vs Register based VM 根据指令获取操 ...

  10. springmvc项目,浏览器报404错误的问题

    问题描述: 建立了web工程,配置pom.xml,web.xml,编写controller类,在spring-mvc-servlet.xml文件中指定开启注解和扫描的包位置<mvc:annota ...