您好,欢迎访问一九零五行业门户网

JavaScript中String和StringBuffer的速度之争_javascript技巧

显示情况时javascript中并没有stringbuffer类,一种主流的javascript stringbuffer类的实现是通过prototype构造一个stringbuffer类。
stringbuffer.js
复制代码 代码如下:
function stringbuffer(){
this.content = new array;
}
stringbuffer.prototype.append = function( str ){
this.content.push( str );
}
stringbuffer.prototype.tostring = function(){
return this.content.join();
}
现在让我们写一个测试用例:
teststringbuffer.html
复制代码 代码如下:
test
现在让我们来测试下,看看会有什么发生:
ie8:
sting use time:11ms
stringbuffer use time:47ms
结果是stringbuffer不但没有比string效率高,反而使低了不少。难道是前辈们错了?
那让我们再在别的浏览器中看看吧:
ie7:
sting use time:266ms
stringbuffer use time:78ms
ie7中stringbuffer的优势很明显。
可以看到,在现在的主流浏览器中,都对string类的字符串连接作了优化,所以性能要好于自定义的stringbuffer类,但是在比较老的浏览器中,stringbuffer类的优势仍然很明显。具体在实际中就需要对浏览器进行判断。
其它类似信息

推荐信息