javascript 中 array / argument / querySelectorAll的返回值/getElementsByTagName返回值 有什么区别?
可能之前的问的方式不好,重新整理思路。拆分下问题
1 数组与类数组有什么区别 [] 和 argument之间的区别(老实说我应该去查文档)
2 argument 和 querySelectorAll返回值(Static Node List)/getElementsBy系列返回值(Live Node List)有什么区别。
@roshanca 给出知乎链接,回答了一部分问题
天蓬老师2017-04-10 14:44:02
a= []
b=(function(){return arguments})()
c=document.querySelectorAll('p')
d=document.getElementsByTagName('p')
set = [a,b,c,d]
for( i in set) console.log(set[i].constructor.prototype)
[Symbol(Symbol.unscopables): Object]
Object {}
NodeList {item: function}
HTMLCollection {item: function, namedItem: function}
大概是这样. 名相如实不相如.
1. 是array, 当然,数组的本质是 object
2. 第二个是个object.其实也是一个变种,不是纯的.记不清了
3,4 也是有差别的反正. 你自己比比看,有结果了告诉我们下. 我也想看详细的分析