我正在测试我之前读过的有关随机Math.random()
真实性的内容,并希望显示10000个数字,这些数字应该是0到10000000之间的随机数.
为了看测试,我选择将随机数组加入到
每个整数之间的字符串中.然后我就做了$("#"+elm).html(randomNumberString);
,这真的很慢.我只想到它是将随机数生成和排序到数组中.但是当我开始在我的代码中放置定时器时,它变得很有吸引力,它的输出正在减慢一切.
就像我做的测试一样 document.getElementById(elm).innerHTML = randomNumberString;
jQuery.html():2500ms getElementById.innerHTML:170ms
我在所有5个浏览器中尝试了这个,并且所有浏览器中的数字非常接近......我在这个实例中使用jQuery错了吗?我也尝试在计时器启动之前追加并获取元素,所以我可以这样做$(elm).html()
,但这没有帮助.这似乎是html()
减慢一切的实际功能..?
编辑我最终这样做:
randomStringNumber = "" + randomStringNumber + "";
现在整个事情运行得更快:jQuery.html():120ms getElementById.innerHTML:80ms
但是,使用oldschool html仍然更快.如果有人能够回答为什么将它包装在一个元素中更快,我会很感激......
25提示改善你的jquery使用
http://www.tvidesign.co.uk/blog/improve-your-jquery-25-excellent-tips.aspx
http://acsenthil.wordpress.com/2011/07/04/improve-your-jquery-25-excellent-tips/
从Google Code加载框架
使用备忘单
合并所有脚本并缩小它们
使用Firebug卓越的控制台记录功能
通过缓存将选择操作保持在最低限度
将DOM操作保持在最低限度
在进行任何类型的DOM插入时,将所有内容包装在一个元素中
尽可能使用ID而不是类
为您的选择器提供上下文
正确使用链接
学会正确使用动画
了解活动授权
使用类来存储状态
更好的是,使用jQuery的内部数据()方法来存储状态
编写自己的选择器
简化HTML并在页面加载后对其进行修改
延迟加载内容的速度和SEO的好处
使用jQuery的实用程序功能
使用其他框架时,使用noconflict重命名jquery对象
如何判断图像何时加载
始终使用最新版本
如何检查元素是否存在
将JS类添加到HTML属性中
返回'false'以防止默认行为
准备事件的简写