js判断对象的类型

开发中,不免需要对对象类型进行判断,列举下常见的判断方法:

1、typeof:对于function string number undifined boolean object都有效,注意返回值是字符串。

但null、Array检测出Object.

2、instanceof: 用于检测对象是否是特定类的一个实例,返回值是布尔值,最好和typeof配合使用(typeof值为Object时候用instanceof进行进一步判定)。继承链上也可以用于判断是否继承了某对象。

3、对象.constructor: 可以检测出function,string,number,boolean,object,array. 但null,undefined出错。

4、Object.prototype.toString.call(对象):可以检测出以上各种类型,但不知道是否可以检测出继承了那些类,还不会继承。

希望牛人大大们解答,交流.

参考:http://www.nowamagic.net/librarys/veda/detail/1250

时间: 2024-11-13 12:08:42

js判断对象的类型的相关文章

Python中 isinstance()用法 判断对象的类型

isinstance(p_object, class_or_type_or_tuple):判断对象的类型 a=123 ret=isinstance(a,int) print(ret) #输出:True li=[2,57,4] ret1=isinstance(li,list) print(ret1) #输出:True  

Java基础 ----- 判断对象的类型

1. 判断对象的类型:instanceOf 和 isInstance 或者直接将对象强转给任意一个类型,如果转换成功,则可以确定,如果不成功,在异常提示中可以确定类型 public static void main(String[] args) { Integer i = new Integer(10); System.out.println(i instanceof Integer); // 知道类型名 String parentClass = "java.lang.String";

js中判断对象具体类型

大家可能知道js中判断对象类型可以用typeof来判断.看下面的情况 <script> alert(typeof 1);//number alert(typeof "2");//string alert(typeof [1,2,3]);//object alert(typeof {"name":"zhuhui"})//object </script> 从上面中我们可以看出数组和普通对象用typeof判断出来都是object

JS判断对象是否存在的方法

Javascript语言的设计不够严谨,很多地方一不小心就会出错. 举例来说,请考虑以下情况. 现在,我们要判断一个全局对象myObj是否存在,如果不存在,就对它进行声明.用自然语言描述的算法如下: if (myObj不存在){ 声明myObj; } 你可能会觉得,写出这段代码很容易.但是实际上,它涉及的语法问题,远比我们想象的复杂.Juriy Zaytsev指出,判断一个Javascript对象是否存在,有超过50种写法.只有对Javascript语言的实现细节非常清楚,才可能分得清它们的区别

js判断对象是否为数组

1.ECMAScript5中有一个现成的方法:Array.isArray(). var obj = {1:[1],2:[2]}, arr = [1], str = "1"; Array.isArray(obj) // return false Array.isArray(arr) // return true Array.isArray(str) // return false 2.instanceofinstanceof操作符用于判断对象是不是类的实例.使用方法是object ins

js判断对象是否为空

/** *判断对象是否为空 * * @param e * @returns {Number} */function isEmptyObject(e) { var t; for (t in e) return !1; return !0 }

JS判断设备的类型

利用JS判断浏览器的用户代理,从而获得设备类型.利用这个方法可以获得用户的设备是移动设备还是PC设备. JS代码如下: function browerType() { var sUserAgent = navigator.userAgent.toLowerCase();   //浏览器的用户代理设置为小写,再进行匹配 var isIpad = sUserAgent.match(/ipad/i) == "ipad";   //或者利用indexOf方法来匹配 var isIphoneOs

js判断对象数组中是否存在某个对象

1. 如果要判断数组中是否存在某个元素的话很好判断,直接用数组的indexOf方法就好,存在返回当前索引不存在返回-1 var arr=[1,2,3,4] arr.indexOf(3) // 2 arr.indexOf(5) // -1 2. 要只是判断的话是可以遍历后判断对象的属性是否相同的,像这种: arr.forEach(item=>{ if(item.name=='Alex'){ alert('存在这个元素'); } }) 3. 但实际中往往是需要动态添加或删除对象或元素的,用这个方法的

js中通过Object.prototype.toString方法----精确判断对象的类型

判断是否为函数 function isFunction(it) {        return Object.prototype.toString.call(it) === '[object Function]';    } 判断是否为数组: function isArray(o) {   return Object.prototype.toString.call(o) === '[object Array]';  } 由于 JavaScript 中一切都是对象,任何都不例外,对所有值类型应用