好好学一遍JavaScript 笔记(三)——StringBuffer、prototype(2)
var oBuffer = new StringBuffer();
d1 = new Date();
for(var i =0 ; i < 10000; i++){
oBuffer.append("性能测试");
}
var sREsult = oBuffer.toString();
d2 = new Date();
document.write("<br/>StringBuffer连接:<font color='red;'>"+(d2.getTime()-d1.getTime())+"</font> 所用时间");
IE6测试结果:
加号连接:2094 所用时间
StringBuffer连接:47 所用时间
结果显而易见、但是如果数据量不是非常大、完全没有必要这样做
但是用IE8跟360、谷歌这些浏览器测试结果又完全不同
应该是javaScript对传统的""+""方法进行了优化、
毕竟这个示例是很老很老的了出自————《javascript高级程序设计》
谷歌浏览器测试:
加号连接:0 所用时间
StringBuffer连接:2 所用时间
百度了很久、木有什么好的结果
看来以后写连接优化还要注意浏览器呀
不过现在估计用IE6的很少很少了吧!!! 也希望了解情况的大侠看到给解释解释!!!感激不尽!!!
[javascript]
/**
* 查询数组中是否存在某个元素
* @param {Object} sValue 元素值
* @memberOf {TypeName}
* @return {Int} 返回-1则说明不存在、否则返回该元素在数组中的索引值
*/
Array.prototype.indexOfHzw = function (sValue){
for(var i=0; i < this.length; i++){
if(sValue == this[i]){
return i ;
}
}
return -1;
}
var array = new Array("red","blue","yellow","fuck");
相关新闻>>
- 发表评论
-
- 最新评论 更多>>