衡阳人才招聘网站:js中遍历数组的效率问题
来源:百度文库 编辑:九乡新闻网 时间:2024/05/02 07:49:20
Java代码
- "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- "http://www.w3.org/1999/xhtml">
-
jquery - "div1">
- "5000" type="text" id="txt1"/>"button" id="btn1" value="生成 checkbox"/>
"info">- "button" id="btnTest1" onclick="fun1(this)" value="第一种"/>
- "button" id="btnTest1" onclick="fun2(this)" value="第二种"/>
- "button" id="btnTest1" onclick="fun3(this)" value="第三种"/>
"box">
jquery
第一种:每次循环读取 chks 集合的属性 length;
第二种:每次循环定位 chks[i];
第三种:每次循环读取 变量 length。
-----------------------------------------------
第一种:406 ms
第二种:16 ms
第三种:0 ms
--------------------------------
第三种直接读取变量速度最快,第二种集合定位次之,第一种最慢,
每种之间相差一个数量级。
----------------------------------------------------
第一种之所以慢是因为访问集合的 length 属性时需要遍历 prototype,从而获取 length,
这就增加了不必要的开销,因为 length 只是终止条件,并未参与实际运算。
----------------------------------------------------
另,如果循环中需要多次访问 chks[i] 的话,就应该进一步优化,从而降低内部检索的开销。
可以充分利用 js 的特性,不必读取 length,并将定位与赋值分离,优化代码如下 :
- var fun3=function(obj) {
- var chks=g("box").getElementsByTagName("input");
- var b=!chks[0].checked;
- var d=new Date();
- for(var i=0,chk; chk=chks[i]; i++) {
- chk.checked=b;
- }
- obj.nextSibling.innerHTML=new Date()-d;
- }
js中遍历数组的效率问题
JS判断数组中是否包含某一项
当前宏观调控的方向和效率问题(中)
二维数组和指针⑴ 用指针表示二维数组元素。 要用指针处理二维数组,首先要解决从存储的角度对二维数组的认识问题。我们知道,一个二维数组在计算机中存储时,是按照先行后列的顺序依次存储的,当把每一行看作一个
CString及Char指针和数组的问题
C语言 自定义函数返回数组的问题
引用 诡异的IE6环境JS加载不执行问题
jquery如何遍历已定义的属性
vba从一个数组中找出另一数组不同内容
js中top、parent、frame
asp?vbscript?数组的使用
JS 英文变大写的光标老是跳到最后问题解析
当前宏观调控的方向和效率问题(下)
当前宏观调控的方向和效率问题(上)
【转】Unity3D中C#和JS的方法互相調用
js常用的小技能
常用的JS脚本代码
js对selected的操作
国有企业效率和浪费问题
求子数组的最大和111
MATLAB字符串数组的创建与运算
双色球---几个容易出号的数组
数组公式从入门到精通(最好的数组讲义)
指针数组 数组指针