जावास्क्रिप्ट में छद्म सरणी प्रकारों के बीच अंतर

दो प्रकार की छद्म सरणियों के बीच अंतर DOM तत्वों को बदलने पर विभिन्न व्यवहार में निहित है। उदाहरण के लिए, मान लीजिए कि हमें पैराग्राफ का एक संग्रह HTMLCollection के रूप में और NodeList के रूप में प्राप्त हुआ। फिर हम एक और पैराग्राफ बनाएंगे और जोड़ेंगे हमारे DOM में। इस स्थिति में, यह स्वचालित रूप से HTMLCollection में दिखाई देगा, लेकिन NodeList संग्रह अपरिवर्तित रहेगा।

आइए एक उदाहरण देखें। मान लीजिए हमारे पास एक div है, और उसमें पैराग्राफ हैं। आइए प्राप्त करें हमारा div और समान पैराग्राफ दो अलग-अलग प्रकार के संग्रहों के रूप में:

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

आइए हमारे div में एक और पैराग्राफ जोड़ें:

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

परिणामस्वरूप, एक संग्रह बदल जाएगा, और दूसरा - नहीं:

javascriptconsole.log(elems1); // 4 पैराग्राफ - नए सहित
console.log(elems2); // 3 प्रारंभिक पैराग्राफ
Задание 1

जांचें कि संपत्ति children नया तत्व जोड़ने पर कैसे व्यवहार करती है।

Задание 2

जांचें कि संपत्ति childNodes नया तत्व जोड़ने पर कैसे व्यवहार करती है।