首頁>技術>

特性:有length屬性,其它屬性(索引)為非負整數,不具有陣列所具有的方法

==在JS的DOM中,有三個常用到的類陣列物件:NodeList NamedNodeMap 和 HTMLCollection==

==HTMLCollection NodeList以及NamedNodeMap都是“動態的”,每當文件結構發生變化時,他們都會得到更新,始終會儲存著最新,最準確的資訊==

與陣列的區別

類陣列是物件,不是陣列,不能去使用陣列中的方法新增成員時,類陣列的length屬性值不會變化設定length屬性值時,陣列的成員會發生變化,而類陣列只是僅僅改變了length的屬性值類陣列判斷
function isArrayLike(o) {    if (o &&                                // o is not null, undefined, etc.        typeof o === 'object' &&            // o is an object        isFinite(o.length) &&               // o.length is a finite number        o.length >= 0 &&                    // o.length is non-negative        o.length===Math.floor(o.length) &&  // o.length is an integer        o.length < 4294967296)              // o.length < 2^32        return true;                        // Then o is array-like    else        return false;                       // Otherwise it is not}
類陣列轉換
Array.prototype.slice.call(listArray)
常見類陣列物件arguments屬性lengthcalleeNodeList屬性length方法item(idx):透過索引訪問節點

以下返回型別為nodeList

childNodes getElementsByClassName(className)  getElementsByTagName(tagName)
NameNodeMap屬性length方法item(idx) 透過索引訪問節點getNamedItem(NS) 透過名稱(和名稱空間)訪問節點 setNamedItem(NS) 透過名稱(和名稱空間)設定節點 removeNamedItem(NS) 根據名稱(和名稱空間)刪除節點

以下程式碼形式返回型別為NamedNodeMap:

element.attributes
HTMLCollection屬性length方法item(idx) 透過索引訪問節點namedItem(name) //透過name 屬性或 id 屬性訪問節點

以下程式碼形式返回型別為HTMLCollection:

document.images //所有img元素  document.links //所有帶href屬性的a元素和area元素  document.anchors //所有帶name屬性的a元素  document.forms //所有form元素  document.scripts //所有script元素  tBodies(table元素)rows(table、tbody、thead、tfoot元素)cells(tr元素)

8
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 基於 Vue+Antdv+Mybatis 前後端分離平臺