Javascript HTMLCollection[],如何复制

Javascript HTMLCollection[],如何复制,javascript,arrays,object,Javascript,Arrays,Object,因此,运行document.getElementsByTagName返回:HTMLCollection[]。 这是一种奇怪的表示法,因为如果我们执行新函数test{},它将返回test{}。 然而,如果我们这样做: function test() { } test.prototype = []; var x = new test(); 现在调用x我们得到Object[],我们如何得到test[],比如HTMLCollection[]? 甚至不知道我会用它做什么可能什么都没有,我只是好奇想知道。

因此,运行document.getElementsByTagName返回:HTMLCollection[]。 这是一种奇怪的表示法,因为如果我们执行新函数test{},它将返回test{}。 然而,如果我们这样做:

function test() { }
test.prototype = [];
var x = new test();
现在调用x我们得到Object[],我们如何得到test[],比如HTMLCollection[]? 甚至不知道我会用它做什么可能什么都没有,我只是好奇想知道。
谢谢

测试现在是一个数组。不像HTMLCollection[]或test[]那样。为什么只在JavaScript控制台中工作?符号只是一种形式;e、 Chrome显示[]。但HTMLCollection不是数组。。。为什么它被视为一个呢?HTMLCollection是一个只有本机方法才能返回的本机构造。您可以创建一个数组,使其成为HTMLCollection,但这是无法完成的。HTMLCollection是一个类似数组的对象,这意味着它有长度并且可以迭代。如果您想控制对象在控制台中的表示方式,可以像下面的测试一样更改其值。valueOf=函数{return test[];}