提高 javascript 效率的插件

linxishengjiong 2010-01-03 08:09:46
RT 有没能提高 javascript 效率的插件呢
最近用纯 javascript 给公司做了个地图显示软件
发现显示速度很慢 检测后发现主要是appchild这个函数加结点的时候很慢
加1000个以上结点的时候就会明显发觉不行(结点越大则越慢) 虽然现在用办法来缓存了下

但现在还是想能通过装个插件什么的来提高下显示效率,哪位仁兄做过的指点下,谢谢了
...全文
158 16 打赏 收藏 举报
写回复
16 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
woochy 2010-01-04
  • 打赏
  • 举报
回复
修改你的代码,在创建大量对象时使用DOM效率的确低下,用拼接字串应该可以改进效率。

比较下面的代码:

<script>
function domAdd(){
var el = document.createElement("INPUT");
obj.appendChild(el);
}
function strAdd(){
obj.innerHTML+="<INPUT>";
}
</SCRIPT>
<BODY>
<span id=obj></span><br>
<input type=button value="使用DOM创建对象" onclick = "domAdd()">
<input type=button value="使用拼接创建对象" onclick="strAdd()">
zhyzdl 2010-01-04
  • 打赏
  • 举报
回复
study
sadshell 2010-01-04
  • 打赏
  • 举报
回复
修改编辑帖子 在“管理菜单”
找不到浏览器 ctrl+f搜索下

我不大懂代码,如果换用其他浏览器是不是快些呢?
chrome 4真的快得一塌糊涂
YnSky 2010-01-04
  • 打赏
  • 举报
回复
up
linxishengjiong 2010-01-04
  • 打赏
  • 举报
回复
楼上的什么等级阿,看的我眼睛乱闪的。。。
woochy 10楼:你说的没错,不过具体情况是不是应该如下的:
1、当要一次性添加大量且复杂的网页元素时用innerHTML比appendChild()快
2、当每次只添加一两个网页元素,并且要频繁添加时appendChild()比innerHTML快
我的是属于第二种情况,当然我自己也测试过,appendChild比innerHTML快,不过也快不了多少,可惜当初设计的时候没考虑到速度会这么慢,以前我们同事做过用java开发的,速度那是一个快,几千个都没问题的,不知道除了这两个方法还会不会有其它的方法呢?当然两个区别就在于现在的地图是不需要插件的(本来也为了客户能省下装插件的麻烦),显示几百个还是没什么感觉的,再多点就会需要电脑cpu的配置更高点了。

zswang 13楼:大哥,我的程序在chrome浏览器看啊看不到阿,我估计是我们用的微软的VML那套网页画图技术限制了只能在IE下看到。
当然现在也是只加载用户看到的地方的。否者全部的话可能会上W个,太恐怖啦。

我现在还是最期待某个插件能帮帮我,就好咯。
王集鹄 2010-01-04
  • 打赏
  • 举报
回复
让用户换成chrome浏览器

如果不是必须加载1000个节点,可以考虑动态加载,即:只加载用户看到的地方。
happy002 2010-01-04
  • 打赏
  • 举报
回复
mark
浴火_凤凰 2010-01-04
  • 打赏
  • 举报
回复
为什么现在的人动不动就弄1000个节点啊???
linxishengjiong 2010-01-03
  • 打赏
  • 举报
回复
为何没有修改自己帖子的功能,我郁闷
我写错了很多地方
start0753 2010-01-03
  • 打赏
  • 举报
回复
楼主很好很强大
linxishengjiong 2010-01-03
  • 打赏
  • 举报
回复
不好意思 是appendChild 果然阿 不看代码还是会记不起来怎么拼 复制黏贴的坏毛病阿
HTML添加页面结点元素的功能 不是字符串拼接的功能哦
rjzou2006 2010-01-03
  • 打赏
  • 举报
回复
是appchild 拼接字符串节点吗?

如果是

字符串拼接本来就很慢的。

建议使用string.join() 方法拼接。
linxishengjiong 2010-01-03
  • 打赏
  • 举报
回复
帖子里的“虽然现在用办法来缓存了下 ”改为“虽然现在用办法来缓冲了下”
呵呵 免得引起误解
linxishengjiong 2010-01-03
  • 打赏
  • 举报
回复
对的 前段时间一直在修改自己的代码
确实加快许多 不过已经快到极限了 因为除了appchild这个函数外的所有代码时间占用都非常少了 小于10%
也看过类似于appchild函数的功能 最后测试后还是这个最快
所以现在只能期待于什么插件了 希望过段日子能找到 这样就体验方面就更好了
hitlcyu19 2010-01-03
  • 打赏
  • 举报
回复
效率上的软件还真不太清楚 还是尽可能地修改自己的代码 看看能不能提高效率
hehuan1213 2010-01-03
  • 打赏
  • 举报
回复
楼主知道了也跟我说说!
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2010-01-03 08:09
社区公告
暂无公告