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