我知道document.querySelectorAll('div')得到的是NodeList没错,但已经用...解构了再放入[]中了,得到的就是数组了吧?
//更新了题目。。好像大家都没懂我问的意思啊。。
我知道document.querySelectorAll('div')得到的是NodeList没错,但已经用...解构了再放入[]中了,得到的就是数组了吧?
//更新了题目。。好像大家都没懂我问的意思啊。。
...
是spread
操作符,用于展开数组或类数组对象。
将每一个项展开到一个新数组里,所以这里返回值是所有div的数组对象。
document.querySelectorAll
所返回的是一个类数组对象。类数组不是数组类型的实例,所以你不能用对其用数组的方法,比如splice
,map
等。转化正真正的数组后就可以使用这些方法了。
不是数组。
这玩意叫nodelist
为什么 NodeList 不是数组?
NodeList 对象在某些方面和数组非常相似,看上去可以直接使用从 Array.prototype 上继承的方法。然而,NodeList 没有这些类似数组的方法。
你看看mdn吧,Nodelist
==========
嗯,对,是数组了。所以题主想问什么。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
返回的是一个NodeList对象,不是数组,只是有一些数组有的方法和属性,所以是类似数组
更新:
你修改问题之后,其实觉得你的想法是对的,可能这里是阮老师写的不准确,要是代码是这样就没有问题了:
你可以在底下给他留言,他看到会改的。