Perbezaan antara jenis array pseudo dalam JavaScript

Perbezaan antara dua jenis array pseudo terletak pada tingkah laku yang berbeza apabila elemen DOM berubah. Katakan, sebagai contoh, kami mendapat koleksi perenggan dalam bentuk HTMLCollection dan dalam bentuk NodeList. Kemudian kami akan mencipta dan menambah satu lagi perenggan ke dalam DOM kami. Dalam kes ini, ia secara automatik akan muncul dalam HTMLCollection, tetapi koleksi NodeList akan kekal tanpa perubahan.

Mari kita lihat contoh. Katakan kita mempunyai div, dan di dalamnya terdapat perenggan. Mari dapatkan div kami dan perenggan yang sama dalam bentuk koleksi dua jenis yang berbeza:

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

Tambah satu lagi perenggan ke dalam div kami:

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

Hasilnya, satu koleksi akan berubah, manakala yang kedua - tidak:

javascriptconsole.log(elems1); // 4 perenggan - dengan yang baru
console.log(elems2); // 3 perenggan awal
Задание 1

Periksa bagaimana sifat children akan berkelakuan apabila menambah elemen baru.

Задание 2

Periksa bagaimana sifat childNodes akan berkelakuan apabila menambah elemen baru.