jscript,dhtml性能不能忘,欢迎同类文章

kingdomzhf 2003-10-09 11:40:01
1.慎用eval
A.使用0s
for(var i = 0; i < 100;i++)
{
var ti2 = new Date()
}
B.使用15s
for(var i = 0; i < 100;i++)
{
var b =eval("new Date()")
}
2.注意document.all等集合对象的引用位置
A.使用31s
for(var i =0;i < 1000;i++)
{
document.all("test").value="test";
}
B.使用63s
var oAll = document.all;
for(var i =0;i < 1000;i++)
{
oAll("test").value="test";
}
3.减少下载次数,因为js会存于cache中,通过包含常用的组件从而减少下载时间
<script src="myfile.js"></script>
4.不要写冗余代码,30k的代码你要想到精简到20k或更少
5.限制使用动态属性(一个元素的属性修改时去修改另一个属性)--setExpression
6.建立一个 HTML 字符串并对文档进行一次更改,而不是进行多次更新
A.使用250s
divUpdate.innerHTML = "";
for ( var i=0; i<100; i++ )
{
divUpdate.innerHTML += "<SPAN>这是一个较慢的方法!</SPAN>";
}
B.使用0s
var str="";
for ( var i=0; i<100; i++ )
{
str += "<SPAN>因为使用字符串,此方法较快!</SPAN>";
}
divUpdate.innerHTML = str;

以上测试结果所处环境:cpu:p4 1.7,mem 256
...全文
62 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
coolstar 2003-12-26
  • 打赏
  • 举报
回复
1.慎用eval
A.使用0s
for(var i = 0; i < 100;i++)
{
var ti2 = new Date()
}
B.使用15s
for(var i = 0; i < 100;i++)
{
var b =eval("new Date()")
}

废话

没有人会这么用eval的,一般用eval的都是没法直接定义的
Recon 2003-10-12
  • 打赏
  • 举报
回复
好文 谢谢
又学到东西了
erictang2003 2003-10-12
  • 打赏
  • 举报
回复
用document.getElementById( "elementId" ) 代替 document.all
跨Browser
pi1ot 2003-10-11
  • 打赏
  • 举报
回复
document.all是不标准的过时语法,在ie以外的浏览器上不支持.
jsidiot 2003-10-11
  • 打赏
  • 举报
回复
2.注意document.all等集合对象的引用位置
我对这个不是很理解
nolonely 2003-10-11
  • 打赏
  • 举报
回复
看阿信的转载
http://expert.csdn.net/Expert/topic/2176/2176029.xml?temp=.8189813
kingdomzhf 2003-10-11
  • 打赏
  • 举报
回复
没人跟
kingdomzhf 2003-10-11
  • 打赏
  • 举报
回复
up

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧