Javascript 在连接的字符串之间动态添加空格

Javascript 在连接的字符串之间动态添加空格,javascript,concatenation,Javascript,Concatenation,我想知道是否有可能在两个串联的字符串或整数之间动态添加空间。例如,这里只是将字符串和整数连接起来: var name = "Bruce" var age = 14 name + " " + age => 'Bruce 14' 我想名字和年龄之间的空间是动态的。e、 g: 其中一个用例是在dc.js中绘制条形图,我可以将名称放在底部,将值放在顶部。但这是无关的。我只是好奇是否有一种方法。有一种方法,但它几乎没有实现 同时,您可以编写自己的: function repeatstr(ch, n

我想知道是否有可能在两个串联的字符串或整数之间动态添加空间。例如,这里只是将字符串和整数连接起来:

var name = "Bruce"
var age = 14
name + " " + age
=> 'Bruce 14'
我想名字和年龄之间的空间是动态的。e、 g:

其中一个用例是在dc.js中绘制条形图,我可以将名称放在底部,将值放在顶部。但这是无关的。我只是好奇是否有一种方法。

有一种方法,但它几乎没有实现

同时,您可以编写自己的:

function repeatstr(ch, n) {
  var result = "";

  while (n-- > 0)
    result += ch;

  return result;
}

var name = "Bruce"
var age = 14
var numberOfSpaces = 4

var fullName = name + repeatstr(" ", numberOfSpaces) + age;

您可以创建自己的函数来执行此操作:

function spaces(x) {
    var res = '';
    while(x--) res += ' ';
    return res;
}

var name = "Bruce";
var age = 14;
name + spaces(4) + age;

> "Bruce    14"
我认为这是最漂亮、最简单的方法。

更新!现在,所有主流浏览器都支持这个功能已经有一段时间了

var s = function(n) {return new Array(n + 1).join(",").replace(/,/g," ")};
var name = "Bruce";
var age = 14;
var numberOfSpaces = 4;
name + s(numberOfSpaces) + age;
您只需执行以下操作:

var name = "Bruce";
var age = 14;
name + ' '.repeat(4) + age;

类似于
[姓名、年龄、事物].加入(“”)
?但这不太干净。可能是重复的
var name = "Bruce";
var age = 14;
name + ' '.repeat(4) + age;