suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Ist das dritte Beispiel hier nicht auch ein Array? (aus es6 geschrieben von Ruan Yifeng)

Ich weiß, dass document.querySelectorAll('p') eine NodeList erhält, aber sie wurde mit ... dekonstruiert und dann in [] eingefügt. Was es erhält, ist ein Array, oder?
//Titel aktualisiert. . Es scheint, dass niemand versteht, was ich meine. .

某草草某草草2713 Tage vor742

Antworte allen(6)Ich werde antworten

  • 巴扎黑

    巴扎黑2017-06-12 09:31:50

    NodeList objects are collections of nodes such as those returned by properties such as Node.childNodes and the document.querySelectorAll() method

    返回的是一个NodeList对象,不是数组,只是有一些数组有的方法和属性,所以是类似数组

    更新:

    你修改问题之后,其实觉得你的想法是对的,可能这里是阮老师写的不准确,要是代码是这样就没有问题了:

    const set = new Set(document.querySelectorAll('p'))

    你可以在底下给他留言,他看到会改的。

    Antwort
    0
  • 阿神

    阿神2017-06-12 09:31:50

    ...spread操作符,用于展开数组或类数组对象。

    将每一个项展开到一个新数组里,所以这里返回值是所有p的数组对象。

    document.querySelectorAll所返回的是一个类数组对象。类数组不是数组类型的实例,所以你不能用对其用数组的方法,比如splice,map等。转化正真正的数组后就可以使用这些方法了。

    Antwort
    0
  • 迷茫

    迷茫2017-06-12 09:31:50

    是啊 document.querySelectorAll()的结果就是数组形式的。取id返回的也是数组 你可以自己打印看

    Antwort
    0
  • 世界只因有你

    世界只因有你2017-06-12 09:31:50

    querySelectAll返回的是NodeList,不是数组,是一个类数组。

    Antwort
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-12 09:31:50

    他这里是把节点生成了一个新数组返回过去,是数组没错。我猜他这里是说的nodelist这样一个类数组结构。

    Antwort
    0
  • 阿神

    阿神2017-06-12 09:31:50

    不是数组。

    这玩意叫nodelist

    为什么 NodeList 不是数组?

    NodeList 对象在某些方面和数组非常相似,看上去可以直接使用从 Array.prototype 上继承的方法。然而,NodeList 没有这些类似数组的方法。

    你看看mdn吧,Nodelist

    ==========
    嗯,对,是数组了。所以题主想问什么。

    Antwort
    0
  • StornierenAntwort