如何判断类页面元素数组和类页面元素对象

var a = document.getElementById('divId');
var b = document.getElementsByTagName('p');

//一般我们以为a返回的是一个对象,b返回的是一个数组,其实不是这样的,两个都是对象

a instanceof Object; //true b instanceof Array; //false b instanceof Object; //true



//
通过typeof得出的答案也是一样:

typeof a; //Object typeof b; //Object




//
那么如何区别这两个东西呢? //其实他们虽然都是对象类型,但是他们的构造器不一样

b.constructor.name //"HTMLCollection" a.constructor.name //"HTMLDivElement"

通过constructor.name就可以判断他们的区别了。需要注意的是:

document.querySelectorAll('div').constructor.name;  //NodeList

 

posted @ 2015-04-16 14:54  Hx2JS  阅读(132)  评论(0)    收藏  举报