var strBuffer = []; for (var i = 0; i < rightDataLength; i++) { strBuffer.push(rightOptions[i].value).push("|").push(rightOptions[i].text).push(";"); } RightDataObj.value = strBuffer.join("");
http://blog.csdn.net/majianan/archive/2008/12/19/3561009.aspx JavaScript中字符串连接性能优化使用 Array 对象存储字符串,之后使用 join()方法输出结果。仿照 Java 中的 StringBuffer 类。 function StringBuffer(){ this._strings = new Array; } StringBuffer.prototype.append = function (str){ this._strings.push(str); } StringBuffer.prototype.toString = function (){ return this._strings.join(""); } 测试性能:代码1:使用 "+=" 拼接字符串var d = new Date(); var str = ""; for(var i=0;i<10000;i++){ str += "test"; } var d2 = new Date(); document.writeln(d2.getTime()-d.getTime()); 代码2:使用 StringBuffervar d = new Date(); var str = new StringBuffer(); for(var i=0;i<10000;i++){ str.append("test"); } var res = str.toString(); var d2 = new Date(); document.writeln(d2.getTime()-d.getTime()); 从多次测试结果看来,使用StringBuffer 可以节省50%以上的时间。
var strBuffer = [];
for (var i = 0; i < rightDataLength; i++) {
strBuffer.push(rightOptions[i].value).push("|").push(rightOptions[i].text).push(";");
}
RightDataObj.value = strBuffer.join("");
JavaScript中字符串连接性能优化使用 Array 对象存储字符串,之后使用 join()方法输出结果。仿照 Java 中的 StringBuffer 类。 function StringBuffer(){
this._strings = new Array;
}
StringBuffer.prototype.append = function (str){
this._strings.push(str);
}
StringBuffer.prototype.toString = function (){
return this._strings.join("");
}
测试性能:代码1:使用 "+=" 拼接字符串var d = new Date();
var str = "";
for(var i=0;i<10000;i++){
str += "test";
} var d2 = new Date();
document.writeln(d2.getTime()-d.getTime());
代码2:使用 StringBuffervar d = new Date();
var str = new StringBuffer();
for(var i=0;i<10000;i++){
str.append("test");
}
var res = str.toString();
var d2 = new Date();
document.writeln(d2.getTime()-d.getTime());
从多次测试结果看来,使用StringBuffer 可以节省50%以上的时间。