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

JavaScript类数组对象参考的更多相关文章

  1. javascript 类数组对象

    原文:https://segmentfault.com/a/1190000000415572 定义: 拥有length属性,其他属性(索引)为非负整数(对象中的所有会被当做字符串来处理,这里你可以当做 ...

  2. javascript:类数组 -- 对象

    在javascript中,对象与数组都是这门语言的原生规范中的基本数据类型,处于并列的位置. 类数组:本质是一个对象,只是这个 对象  的属性有点特殊,模拟出数组的一些特性. 一般来说,如果我们有一个 ...

  3. Javascript数组与类数组对象

    问题来由: 之前面试X公司的时候,问我关于原型链知道多少,于是我就开始说了一些有关于原型链的东西,面试官问Array的原型是什么,我说是对象,毕竟Array.prototype===array.__p ...

  4. 简述JavaScript对象、数组对象与类数组对象

    问题引出 在上图给出的文档中,用JavaScript获取那个a标签,要用什么办法呢?相信第一反应一定是使用document.getElementsByTagName('a')[0]来获取.同样的,在使 ...

  5. Javascript 类数组(Array-like)对象

    Javascript中的类数组对象(Array-like object)指的是一些看起来像数组但又不是数组的对象.Javascript中的arguments变量.document.getElement ...

  6. 浅谈JavaScript和DOM中的类数组对象

    JavaScript是一门弱类型语言,它的数据类型分为两大类:简单数据类型(5种:Undefined.Null.Boolean.Number.String)和复杂数据类型(1种:Object).Obj ...

  7. JavaScript中的类数组对象

    在javascript中,对象与数组都是这门语言的原生规范中的基本数据类型,处于并列的位置. 一般来说,如果我们有一个对象obj和一个数组a: obj["attr1"];    / ...

  8. 如何在JavaScript中手动创建类数组对象

    前言 关于什么是js的类数组对象这里不再赘述.可以参考这个链接,还有这里. js中类数组对象很多,概念简单的讲就是看上去像数组,又不是数组,可以使用数字下标方式访问又没有数组方法. 例: argume ...

  9. Effective JavaScript Item 51 在类数组对象上重用数组方法

    Array.prototype对象上的标准方法被设计为也能够在其他对象上重用 - 即使不是继承自Array的对象. 因此,在JavaScript中存折一些类数组对象(Array-like Object ...

随机推荐

  1. 正确理解Python文件读写模式字w+、a+和r+

    w+ 和 r+的差别不难理解.还有a+ +同一时候读写,就可以读又可写,边写边读.边读边写,不用flush,用seek 和 tell可測得. fp = open("a.txt", ...

  2. hdu3072

    Intelligence System Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  3. 最完整的历史记录hadoop

    课程主要涉及Hadoop Sqoop.Flume.Avro重要子项目的技术实战 课程针对人群 1.本课程适合于有一定java基础知识.对数据库和sql语句有一定了解,熟练使用linux系统的技术人员, ...

  4. 无边无状态栏窗口(使用GetWindowLongPtr设置GWL_EXSTYLE)

    通过SetWindowLongPtr来设置窗口样式 var NewStyle: Integer; begin Application.Initialize; Application.MainFormO ...

  5. form表单多值提交

    $.ajax({ cache: true, type: "POST", url:ajaxCallUrl, data:$('#yourformid').serialize(),// ...

  6. 获取synchronized锁中的阻塞队列中的线程是非公平的

    synchronized中阻塞队列的线程是非公平的 测试demo: import java.text.MessageFormat; import java.text.SimpleDateFormat; ...

  7. jqueryUI中datepicker的使用,解决与asp.net中的UpdatePanel联合使用时的失效问题

    1.jqueryUI的datepicker的使用 -->首先在jqueryUI官网上根据你的需要下载适合你系统主题的样式,jqueryUI主题下载地址: -->下载后的文件 jquery- ...

  8. 【android】下载文件至本应用程序的file文件夹或者sdcard

     一.推断是否有sdcard卡 //推断是否有SD卡 //ture:有SD卡 //false:没有SD卡 public boolean avaiableMedia(){ String status ...

  9. java.lang.NoSuchMethodError: org.springframework.beans.factory.annotation.InjectionMetadata.<init>(L

    关于错误: java.lang.NoSuchMethodError: org.springframework.beans.factory.annotation.InjectionMetadata.&l ...

  10. mooon编译系统介绍(可复用Makefile)

    mooon编译系统介绍(可复用Makefile).pdf(ChinaUnix下载) CSDN下载:http://download.csdn.net/detail/aquester/5626929 mo ...