【问题标题】:Why use String interpolation? [duplicate]为什么要使用字符串插值? [重复]
【发布时间】:2013-09-26 04:42:30
【问题描述】:

可能重复:
When is it better to use String.Format vs string concatenation?

嗨,我正在为一个开源的 Javascript 库编写字符串插值。我刚刚了解了字符串插值的概念,有点困惑?为什么我们还要费这么大的劲来做字符串插值?它的优点是什么?

还有关于 Javascript 中字符串插值的任何资源,您可以指出我吗?分享给我?

谢谢

【问题讨论】:

标签: javascript string


【解决方案1】:

字符串插值也称为字符串格式化。优点是:

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;
}

【讨论】:

  • 这是一个糟糕的字符串格式化程序实现,因为如果插值类似于格式字符串,它可能会中断。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-17
  • 1970-01-01
  • 1970-01-01
  • 2020-02-02
  • 2011-01-29
  • 1970-01-01
相关资源
最近更新 更多