首页 > Web开发 > 详细

js检测对象的类型

时间:2015-11-20 01:39:48      阅读:236      评论:0      收藏:0      [点我收藏+]

在JavaScript中,想要判断某个对象值属于哪种内置类型,最靠谱的做法就是通过Object.prototype.toString方法.

示例:

var array=[1,2,3];
Object.prototype.toString.call(array) ;//"[object Array]"
var obj={name:‘Tom‘};
Object.prototype.toString.call(obj) ;//"[object Object]"
var string=‘hi‘;
Object.prototype.toString.call(string) ;//"[object String]"
var num=1;
Object.prototype.toString.call(num);//"[object Number]"

当然,还有其他方式,不过麻烦了一些。

如typeof,但typeof是测不出被检测的对象是Object(对象)还是Array(数组),因为Object包含了Array,如:

var array=[1,2,3];
var obj={name:‘Tom‘};
typeof array;//"object"
typeof obj;//"object"

可以看到返回的都是"object"。

instanceof可以像 Object.prototype.toString一样准确地检测js类型。如:

var o=[];  
alert(o instanceof Array);//true  
alert(o instanceof Object);//true  
var f=function(){}  
alert(f instanceof Function);//true  
alert(f instanceof Object);//true 

小结:有简单的就用简单直接的,所以用Object.prototype.toString.call(obj)这个方式就好。

js检测对象的类型

原文:http://www.cnblogs.com/wql025/p/4979606.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!