array.push优化 原生的方法arr.push() 通过arr[arr.length]直接赋值 把方法二写成一个函数方便调用 测试结果请猛击这里: /examples/2010/03/array-performance/push.html 测试结果: 给arr[arr.length]直接赋值比push方法快 函数调用增加了开销,特别是在IE6和opera下表现明显 Chrome应该是做了优化,相差不大 待续(也许) =,=…….
Tag Archives: 性能
Javascript拼接字符串效率测试
JavaScript开发中,经常需要组合字符串进行输出,比如接收服务端信息,然后格式化成html再显示到页面上。 一般用到两种方法来进行拼接,Array.join和+=串联字符串,为了得到最佳的效率,对这两种方法进行了测试; Array.join测试代码: var timer = new Date().getTime(); var arr = new Array(); for (var i = 0; i < 50000; i++){ arr.push(‘aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa’); } arr.join(”); document.write(new Date().getTime() – timer); +=测试代码: var timer = new Date().getTime(); var str = ”; for (var i = 0; i < 50000; i++){ [...]
通过 Dom 方法提高 innerHTML 性能,性能不升反降?
function replaceHtml(el, html) { var oldEl = typeof el === “string” ? document.getElementById(el) : el; /*@cc_on // 原始的 innerHTML 在 IE 中的性能好一点 oldEl.innerHTML = html; return oldEl; @*/ var newEl = oldEl.cloneNode(false); newEl.innerHTML = html; oldEl.parentNode.replaceChild(newEl, oldEl); /* 一旦我们从 DOM 上移除老的元素,则返回新的元素引用。*/ return newEl; }; 在怿飞的Blog上看到这篇文章,里面有提到“此方法大大提高了 innerHTML 在 Firefox 和 Safari 上的性能。replaceHtml() 在 Firefox 2.0.0.6 里 [...]








