高性能Javascript HTML集合访问的学习笔记
HTML集合是包含了DOM节点引用的类数组对象。
document.getElementsByTagName();
document.images document.links document.forms document.forms[0].elements
HTML集合有length,有索引,但不是真正的数组 没有push 或slice之类的方法
HTML集合处于一种“实时状态” 实时存在,这意味着底层文档对象更新时,它也会自动更新,HTML集合与文档一直保持连接,每次你需要更新信息时,都命运 重复执行查询的过程,这下是低效之源
昂贵的集合
缓存数组长度 \
for(var i=0,len = coll.length;i<len;i++) {
}
更有将集合转化为数组
function toArr(coll) {
for(var i = 0, a = []; len = coll.length; i < len; i++) {
a[i] = coll[i];
}
return a;
}
这个写法比较好,for的第一项可用于创建变量,
但用此法也不一定好,因为它要两次循环(toArr 一次,遍历数组一次),看情况而定.
转载于:https://www.cnblogs.com/yushunwu/archive/2011/09/15/2178081.html
高性能Javascript HTML集合访问的学习笔记相关推荐
- 高性能Javascript重绘和重排学习笔记
浏览器下载完页面中所有的组件 HTML标记,css,js,图片面性 之后,会解析生成两个内部数据结构 DOM树 表示页面结构 渲染树 表示DOM节点如何显示 DOM树中每一个需要显示的节点在 ...
- 计算机专业常用图论,同等学力申硕计算机专业--数学公式集合(新增学习笔记)...
组合数学部分: 基础公式: 定义:从n个不同的元素中, 取r个并按次序排列, 称为从n中取r个的一个排列, 全部这样的排列数记为P(n, r). 定义: 从n个不同的元素中, 取r个但是不考虑次序时候 ...
- (pytorch-深度学习系列)模型参数的初始化与访问操作-学习笔记
模型参数的初始化与访问操作 学习 如何初始化以及访问模型参数,以及如何在多层之间共享模型参数 首先定义一个含有单个隐藏层的多层感知机,使用默认方式初始化该模型的参数,并且进行一次前向计算: impor ...
- javascript简单性能问题及学习笔记
最近在看一本书:<高性能javaScript>,发现自己平时写js存在很多小细节上的问题,虽然这些问题不会导致程序运行出错,但是会导致界面加载变慢,用户体验变差,那么我们就来细细数一下应该 ...
- 【前端】JavaScript(包括ES6)学习笔记(重要)
本人收藏来自互联网的JavaScript笔记,仅供学习自用(⊙o⊙)哦! js之重点难点 https://www.cnblogs.com/xiaohuochai/p/5613593.html fals ...
- JavaScript设计模式之观察者模式(学习笔记)
设计模式(Design Pattern)对于软件开发来说其重要性不言而喻,代码可复用.可维护.可扩展一直都是软件工程中的追求!对于我一个学javascript的人来说,理解设计模式似乎有些困难,对仅切 ...
- JavaScript DOM部分基础知识学习笔记(4)
目录 JavaScript_浏览器环境概述(BOM) 代码嵌入网页的方法 加载使用的协议 JavaScript_script元素工作原理 defer 属性 async 属性 JavaScript_回流 ...
- 寄存器(内存访问)---汇编学习笔记
寄存器(内存访问) 序言 第二章,我们主要从CPU如何执行指令的角度讲解了8086CPU的逻辑结构.形成物理地址的方法.相关的寄存器以及一些指令. 这一章,我们从访问内存的角度继续学习几个寄存器. 3 ...
- Java集合与泛型学习笔记
1:Java集合类 首先我们思考为什么出现集合类? 理由: 1面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象操作,就对对象进行储存,集合就是储存对象最常用的一种方式 2 数组和集合同 ...
最新文章
- python科学计算基础教程pdf下载-Python科学计算基础教程_PDF电子书
- 【Java线程】Thread Runnable必知必会
- 使用TortoiseGit操作分支的创建与合并
- 数据结构-栈5-栈的应用-后缀转中缀
- nodejs框架微商个人相册多端小程序源码
- antd vue中,如何给表单动态添加input,解决遇到一些坑
- mysql flask-login_Flask框架通过Flask_login实现用户登录功能示例
- “这样使用RHEL合法吗”?
- 日常工作中,个人总结的 - Git - 常用操作方法 (三)
- Linux下如何阅读开源项目
- zotero 相关文章链接 (侵权请联系,立即删除)
- CE6870 添加ipv6 策略路由失败问题解决
- 安装R软件(R、studio)的安装包下载官网和教程
- linux系统发育树的构建步骤,使用modeltest-ng和raxml-ng构建ML系统发育树
- 关于淘宝和12306的分析
- CSDN日报180605——《认知升级是令我们变得优秀的重要基石》
- 云豹php短视频源码实现身份证验证的方法
- 从零开始的颜值评分 游戏项目 (一)Maven的相关配置 ——第一个SpringBoot小程序
- 数字图像处理学习笔记(十五)——图像复原与重建
- 怎么把信息秒回做到极致?IMO班聊也是拼了