Skillnaden mellan typer av pseudoarrayer i JavaScript

Skillnaden mellan de två typerna av pseudoarrayer ligger i olika beteenden när DOM-element ändras. Låt oss, till exempel, säga att vi har fått en samling stycken som en HTMLCollection och som en NodeList. Sedan skapar och lägger vi till ytterligare ett stycke i vår DOM. I det här fallet kommer det automatiskt att dyka upp i HTMLCollection, men samlingen NodeList förblir oförändrad.

Låt oss titta på ett exempel. Låt oss säga att vi har en div, och inuti den finns stycken. Vi hämtar vår div och samma stycken samlingar av två olika typer:

javascriptlet parent = document.querySelector('div');
let elems1 = document.getElementsByTagName('p'); // HTMLCollection
let elems2 = document.querySelectorAll('p');     // NodeList

Lägg till ytterligare ett stycke i vår div:

javascriptlet p = document.createElement('p');
parent.append(p);

Som ett resultat kommer en av samlingarna att ändras, medan den andra förblir oförändrad:

javascriptconsole.log(elems1); // 4 stycken - med det nya
console.log(elems2); // 3 initiala stycken
Задание 1

Testa hur egenskapen children kommer att bete sig när ett nytt element läggs till.

Задание 2

Testa hur egenskapen childNodes kommer att bete sig när ett nytt element läggs till.