louisling 发表于 2013-1-29 08:41:53

JavaScript 字符串连接

function StringBuffer () {this._strings_ = new Array();}StringBuffer.prototype.append = function(str) {this._strings_.push(str);};StringBuffer.prototype.toString = function() {return this._strings_.join("");};var str = new StringBuffer();str.append("Audi");str.append("BMW");str.append("Saab");
实际测试的时候,发现居然 用 + 连接字符串性能更好?
测试代码
var d1 = new Date();var str = "";for (var i=0; i < 60000; i++) {    str += "text";}var d2 = new Date();document.write("Concatenation with plus: " + (d2.getTime() - d1.getTime()) + " milliseconds <br/>");var buffer = new StringBuffer();d1 = new Date();for (var i=0; i < 60000; i++) {    buffer.append("text");}var result = buffer.toString();d2 = new Date();document.write("Concatenation with StringBuffer: "+ (d2.getTime() - d1.getTime()) + " milliseconds <br/>");prt(str.length + "-" + result.length);
输出结果
Concatenation with plus: 47 milliseconds Concatenation with StringBuffer: 141 milliseconds
页: [1]
查看完整版本: JavaScript 字符串连接