我厌倦了这样写:
string_needed ="prefix ....."+ topic +"suffix ...."+ name +"testing";
我想现在有人可能已经做了一些事情;)
erj*_*ang 18
对不起:(
我喜欢利用Array.join:
string_needed = `prefix.....${topic}suffix....${name}testing`
或使用 ${}
["prefix ....", topic, "suffix....", name, "testing"].join("")
或者你可以编写自己的连接函数:
String.concat("a", 2, "c")
或使用第三方String.concat功能,例如http://www.diveintojavascript.com/projects/javascript-sprintf
Pan*_*ood 10
你可以考虑使用coffeescript来编写代码(它有像Ruby这样的插值,即#{foo}).
它"编译"到javascript - 所以你最终会得到像你所写的一样的javascript,但不需要编写/维护+++代码你厌倦了
我意识到要求你考虑另一种语言是否是一个有效答案的边缘,但考虑到coffeescript的工作方式,你的一个标签是Ruby,我希望它会通过.
作为一个Javascript的好奇心,你可以实现一些基本上类似Ruby的插值:
sub = function(str) {
  return str.replace(/#\{(.*?)\}/g,
    function(whole, expr) {
      return eval(expr)
    })
}
js> y = "world!"
world!
js> sub("Hello #{y}")
Hello world!
js> sub("1 + 1 = #{1 + 1}")
1 + 1 = 2
在除了字符串文字之外的任何东西上使用它都会遇到麻烦,反正它可能很慢(尽管我还没有测量过).我想我会告诉你的.
| 归档时间: | 
 | 
| 查看次数: | 9697 次 | 
| 最近记录: |