我看到了一些代码项目解决方案。
但是JavaScript中有常规的实现吗?
我看到了一些代码项目解决方案。
但是JavaScript中有常规的实现吗?
当前回答
sys.StringBuilder()试试下面的文章。
https://msdn.microsoft.com/en-us/library/bb310852.aspx
其他回答
sys.StringBuilder()试试下面的文章。
https://msdn.microsoft.com/en-us/library/bb310852.aspx
下面是Typescript中StringBuilder类的一个快速示例:
export class StringBuilder {
private _lines: string[] = [];
write(line: string = ""): void {
this._lines.push(line);
}
writeln(line: string = ""): void {
this._lines.push(line);
this._lines.push("\n");
}
toString(): string {
return this._lines.join("");
}
}
你可以像下面这样使用:
const sb = new StringBuilder();
sb.write("Hello World");
sb.writeln("!");
console.log(sb.toString());
StringBuilder JavaScript尝试这个..
function StringBuilder(value) { this.strings = new Array(); this.append(value); } StringBuilder.prototype.append = function (value) { if (value) { this.strings.push(value); } } StringBuilder.prototype.clear = function () { this.strings.length = 0; } StringBuilder.prototype.toString = function () { return this.strings.join(""); } var sb = new StringBuilder(); sb.append("This is"); sb.append("much better looking"); sb.append("than using +="); var myString = sb.toString(); sb.clear();
当我发现自己在JavaScript中做了很多字符串连接时,我开始寻找模板。js工作得很好,使HTML和JavaScript更具可读性。http://handlebarsjs.com
这段代码看起来就像您想要的路线,只是做了一些更改。
您将希望将append方法更改为如下所示。我将其更改为接受数字0,并使其返回this,以便您可以链接您的追加。
StringBuilder.prototype.append = function (value) {
if (value || value === 0) {
this.strings.push(value);
}
return this;
}