字符串插值也称为字符串格式化。优点是:
1。代码清晰
"<li>" + "Hello " + name + ". You are visitor number" + visitor_num + "</li>";
比阅读和编辑更难
Java/.Net方式
String.Format("<li> Hello {0}. You are visitor number {1}. </li>", name, visitor_num);
蟒蛇方式
"<li> Hello %s. You are visitor number %s</li>" % (name, visitor_num)
JavaScript 流行方式
["<li>","Hello",name,". You are visitor number",visitor_num,"</li>"].join(' ')
2。速度/内存使用
创建多个字符串然后将它们连接起来会占用更多内存,并且比一次创建单个字符串要慢。
我曾经写过一个 javascript 字符串格式化程序-
// simple string builder- usage: stringFormat("Hello {0}","world");
// returns "Hello world"
function stringFormat() {
var s = arguments[0];
for (var i = 0; i < arguments.length - 1; i++) {
var reg = new RegExp("\\{" + i + "\\}", "gm");
s = s.replace(reg, arguments[i + 1]);
}
return s;
}