JavaScript和DOM中有很多类数组对象,它们有以下特点

1、有length属性

2、可以使用[]通过下标访问

3、部分类数组对象使用[]访问成员时不只可以使用下标,还可以使用id或name

4、既然满足了1、2条件,当然也可以通过for循环来遍历

但正如其名字,它们只是类似数组,而不是数组,并不能使用数组的特有方法,如slice、push、pop等。不过如果确实需要它们像数组一样工作,可以使用Array.prototype.slice(类数组对象, 0)来产生一个数组。产生的数组也就失去了原有类数组对象所特有的方法和[]使用name来访问的特性

下面是一些类数组对象的介绍

一、Arguments

arguments是最常见的类数组对象,在函数内部使用,arguments[0]或functionName.arguments[0]

成员介绍

属性
length //长度
callee //正在执行的函数

二、NodeList

以下代码形式返回类型为NodeList

childNodes
getElementsByName(name)  
getElementsByClassName(className)  
getElementsByTagName(tagName)  
getElementsByTagNameNS(namespaceURI, tagName)  
querySelectorAll(selectors)document.all.tags(tagName)

成员介绍

属性
length //长度
方法
item(idx) //访问成员,支持下标、元素id

三、StyleSheetList

以下代码形式返回类型为NodeList

document.styleSheets

成员介绍

属性
length //长度
方法
item(idx) //访问成员,支持下标、元素id、元素name

四、HTMLCollection

以下代码形式返回类型为HTMLCollection

children
document.images //所有img元素  
document.links //所有带href属性的a元素和area元素  
document.anchors //所有带name属性的a元素  
document.forms //所有form元素  
document.scripts //所有script元素  
document.applets //所有applet元素  
document.embeds //所有embed元素  
document.plugins //document.与embeds相同  
tBodies(table元素)
rows(table、tbody、thead、tfoot元素)
cells(tr元素)
areas(map元素)

成员介绍

属性
length //长度
方法
item(idx) //访问成员,支持下标、元素id、元素name
namedItem(name) //访问成员,支持元素id、元素name

五、HTMLFormControlsCollection (继承HTMLCollection)

以下代码形式返回类型为HTMLFormControlsCollection

elements(form元素)

成员介绍

属性
length //长度
方法
item(idx) //访问成员,支持下标、元素id、元素name
namedItem(name) //访问成员,支持元素id、元素name

六、HTMLOptionsCollection(继承HTMLCollection)

以下代码形式返回类型为HTMLFormControlsCollection

options(select元素)

成员介绍

属性
length //长度
selectedIndex //当前选中option的下标
方法
item(idx) //访问成员,支持下标、元素id、元素name
namedItem(name) //访问成员,支持元素id、元素name
add(option, beforeIndex) //添加option
remove(index) //删除option

七、HTMLAllCollection

以下代码形式返回类型为HTMLFormControlsCollection

document.all

成员介绍

属性
length //长度
方法
item(idx) //访问成员,支持下标、元素id、元素name
namedItem(name) //访问成员,支持元素id、元素name
tags(tagName) //返回特定标签名称的NodeLi

转载于:https://www.cnblogs.com/dyllove98/p/3162809.html

JavaScript类数组对象参考相关推荐

  1. 【JavaScript】类数组对象

    欢迎学习交流!!! 持续更新中- 文章目录 类数组对象 arguments 类数组对象 理解:是JS中一种特殊的对象.本质上来说对象是满足了一定条件的数组,类数组的使用目的在于使得一个对象既有数组的特 ...

  2. JavaScript 的怪癖 8:“类数组对象”

    原文: JavaScript quirk 8 array-like objects 译者: Malcolm Yu 此文是 javascript 的 12 个怪癖(quirks) 系列的第八篇. Jav ...

  3. 数组与类数组以及在类数组对象使用数组的方法

    如何在类数组中使用数组的方法? 这里记点笔记,仅供学习参考. 文章目录 判定数组 1. Array.isArray( ) 2. instanceof 操作符 3. 检测类属性 数组 类数组 类数组对象 ...

  4. 数组、对象、类数组对象的不同以及类数组转数组方法总结

    一.数组.对象.类数组对象数据结构的异同 1.数组 一组有序的数据集合,其索引为从0开始且自然增长的整数,其元素值可以是任何js数据!并且包含一个名为length的属性,该属性表示数组元素的个数! v ...

  5. 深入理解JavaScript类数组

    起因 写这篇博客的起因,是我在知乎上回答一个问题时,说自己在学前端时把<JavaScript高级程序设计>看了好几遍. 于是在评论区中,出现了如下的对话: 天啦噜,这话说的,宝宝感觉到的, ...

  6. js基础(数组)--数组类型、类数组对象、作为数组的字符串

    1.数组类型 我们到处都可以看见数组是具有特殊行为的对象.给定一个未知的对象,判定它是否为数组通常非常 有用.在ECMAScript 5中,可以使用Array.isArray()函数来做这件事情:Ar ...

  7. 什么叫做类数组对象?

    JavaScript中,数组是一个特殊的对象,其property名为正整数,且其length属性会随着数组成员的增减而发生变化,同时又从Array构造函数中继承了一些用于进行数组操作的方法.而对于一个 ...

  8. 091_类数组对象转为数组

    1. 数组结构: var arr = [1001, 'zs', 18, true]; 2. 类数组对象结构: var obj = {0: 1001, 1: 'zs', 2: 18, 3: true, ...

  9. JS中集合对象(Array、Map、Set)及类数组对象的使用与对比

    JS中集合对象(Array.Map.Set)及类数组对象的使用与对比 在使用js编程的时候,常常会用到集合对象,集合对象其实是一种泛型,在js中没有明确的规定其内元素的类型,但在强类型语言譬如Java ...

最新文章

  1. mysql 一键安装 linux_linux下mysql8 shell脚本一键安装
  2. jQuery.click()与onClick
  3. UA MATH563 概率论的数学基础 中心极限定理20 弱收敛的性质
  4. sqlite 查询 支持多用户同时_开源时代的后端程序员必须要了解的一个数据库SQLite...
  5. 里程碑 .Net7再更新,从此彻底碾压Java!
  6. linux mysql误删,linux下MySQL安装与删除 (Ubuntu)
  7. 搭建基于C#和 Appium 的 Android自动测试环境
  8. 光电编码器的原理及应用场合_图解编码器应用,推荐收藏
  9. 使用jquery为table动态添加行的实现代码
  10. 5. soapui 测试
  11. 写点什么好呢2? 钱、事业、婚姻、人生意义
  12. mysql建库图解_数据库 MySQL安装图解
  13. 初学者怎样复制粘贴并运行VBA宏?
  14. oracle CPU 最佳型号推荐,盘点目前热门性价比CPU有哪些型号?2019年主流级台式机CPU推荐...
  15. 部署ServletContext的时候报错 Class com.xxxxx.ContextServlet is not a Servlet
  16. Unhandled JS Exception: Unexpected identifier ‘_classCallCheck‘. import call expects exactly one arg
  17. 迁移服务器和切换域名
  18. ccsa安学网小程序_CCSA安学网题库及答案
  19. 假期读书计划表怎么写?能够随时查看读书计划的手机便签
  20. 区块链存在哪些安全缺陷?怎么解决?

热门文章

  1. 设计一款知识性产品需要考虑十二个基本问题
  2. 有些投资人从机构出来,自己单干做投资,募资一毛钱都没募到
  3. 一款无需写任何代码即可一键生成前后端代码的开源工具
  4. Of course, Huawei has brought more than just
  5. 用QXmlStreamWriter写入xml
  6. 3.1.1 计算机网络之数据链路的基本概念和功能概述(转载)
  7. 游标sql server_SQL Server游标性能问题
  8. 索引sql server_SQL Server索引结构和概念
  9. sql server调试_使用SQL Server扩展事件来调试应用程序
  10. 2019-7-4日记