JavaScript类数组对象参考
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类数组对象参考的更多相关文章
- javascript 类数组对象
原文:https://segmentfault.com/a/1190000000415572 定义: 拥有length属性,其他属性(索引)为非负整数(对象中的所有会被当做字符串来处理,这里你可以当做 ...
- javascript:类数组 -- 对象
在javascript中,对象与数组都是这门语言的原生规范中的基本数据类型,处于并列的位置. 类数组:本质是一个对象,只是这个 对象 的属性有点特殊,模拟出数组的一些特性. 一般来说,如果我们有一个 ...
- Javascript数组与类数组对象
问题来由: 之前面试X公司的时候,问我关于原型链知道多少,于是我就开始说了一些有关于原型链的东西,面试官问Array的原型是什么,我说是对象,毕竟Array.prototype===array.__p ...
- 简述JavaScript对象、数组对象与类数组对象
问题引出 在上图给出的文档中,用JavaScript获取那个a标签,要用什么办法呢?相信第一反应一定是使用document.getElementsByTagName('a')[0]来获取.同样的,在使 ...
- Javascript 类数组(Array-like)对象
Javascript中的类数组对象(Array-like object)指的是一些看起来像数组但又不是数组的对象.Javascript中的arguments变量.document.getElement ...
- 浅谈JavaScript和DOM中的类数组对象
JavaScript是一门弱类型语言,它的数据类型分为两大类:简单数据类型(5种:Undefined.Null.Boolean.Number.String)和复杂数据类型(1种:Object).Obj ...
- JavaScript中的类数组对象
在javascript中,对象与数组都是这门语言的原生规范中的基本数据类型,处于并列的位置. 一般来说,如果我们有一个对象obj和一个数组a: obj["attr1"]; / ...
- 如何在JavaScript中手动创建类数组对象
前言 关于什么是js的类数组对象这里不再赘述.可以参考这个链接,还有这里. js中类数组对象很多,概念简单的讲就是看上去像数组,又不是数组,可以使用数字下标方式访问又没有数组方法. 例: argume ...
- Effective JavaScript Item 51 在类数组对象上重用数组方法
Array.prototype对象上的标准方法被设计为也能够在其他对象上重用 - 即使不是继承自Array的对象. 因此,在JavaScript中存折一些类数组对象(Array-like Object ...
随机推荐
- 3D空间中射线与三角形的交叉检測算法
引言 射线Ray,在3D图形学中有非常多重要的应用.比方,pick操作就是使用射线Ray来实现的,还有诸如子弹射线的碰撞检測等等都能够使用射线Ray来完毕. 所以,在本次博客中,将会简单的像大家介绍下 ...
- 多字符集(ANSI)和UNICODE及字符串处理方式准则
在我们编写程序的时候,使用最多的是字符串的处理,而ANSI和UNICODE的相互转换经常搞的我们头晕眼乱. 应该说UNICODE是一种比较好的编码方式,在我们的程序中应该尽量使用UNICODE编码方式 ...
- html5实现拖拽文件上传
以下是自学it网--中级班上课笔记 网址:www.zixue.it html文件 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict ...
- 如何开发auto complete 智能提示功能
目录(?)[+] 如何开发auto complete 智能提示功能 最近网上好像流传用redis实现,其实智能提示和用什么存储关系不大 07年,我过一个类似的项目 我有几千个名字,随着用户在输入框中不 ...
- 深入浅出Node.js (1) - Node简介
1.1 Node的诞生历程 1.2 Node的命名与起源 1.2.1 为什么是JavaScript 1.2.2 为什么叫Node 1.3 Node给JavaScript带来的意义 1.4 Node的特 ...
- 使用KnockoutJs+Bootstrap实现分页
[后端人员耍前端系列]KnockoutJs篇:使用KnockoutJs+Bootstrap实现分页 一.引言 由于最近公司的系统需要改版,改版的新系统我打算使用KnockoutJs来制作Web前端 ...
- SICP 解题集 — SICP 解题集
SICP 解题集 — SICP 解题集 SICP 解题集¶ 这个文档的目标是成为中文化的.完整的<计算机程序的构造和解释>一书的解题集. 这个解题集的特色是: 对于每道习题,除了习题答案之 ...
- Eclipse 未开始 【Ubuntu】
/usr/lib/eclipse/configuration/1408532831122.log : !SESSION 2014-08-20 19:07:11.055 ---------------- ...
- BZOJ 刷题记录 PART 6
[BZOJ2709]水的二分加验证.可是好像被读入萎到了... [BZOJ3229]强大的算法见此.被机房的一堆大神"推荐".于是被坑了...写了一个下午... [BZOJ3631 ...
- loj1336(数学)
传送门:Sigma Function 题意:定义f(n)为n的约数之和,求[1,n]中f值为偶数的数的个数. 分析:由题目给定公式可知,若f(n)为奇数,则相乘的每一项都必须为奇数. 每一项为奇数的条 ...