将文本前置到字符串的开头

时间:2011-05-23 07:27:25

标签: javascript string performance concat jsperf

在字符串开头添加新值的最快方法是什么?

8 个答案:

答案 0 :(得分:161)

var mystr = "Doe";
mystr = "John " + mystr;

这不适合你吗?

答案 1 :(得分:113)

你可以这样做..

var mystr = 'is my name.';
mystr = mystr.replace (/^/,'John ');

console.log(mystr);

免责声明:http://xkcd.com/208/


Wait, forgot to escape a space.  Wheeeeee[taptaptap]eeeeee.

答案 2 :(得分:12)

ES6:

let after = 'something after';
let text = `before text ${after}`;

答案 3 :(得分:7)

你也可以这样做

"".concat("x","y")

答案 4 :(得分:5)

如果您想使用名为ES 2015(又称ES6)的新版Javascript,您可以使用ES 2015引入的Template strings,因此可以通过某些指南(airbnb's one)推荐:

const after = `This is : ${after}`;

答案 5 :(得分:2)

由于问题是关于最快方法是什么,我想我会添加一些性能指标。

TL; DR 赢家很大程度上是void makeNode2(int value, Node*& mountPt) 运算符,请不要使用正则表达式

https://jsperf.com/prepend-text-to-string/1

enter image description here

答案 6 :(得分:1)

另一种选择是使用join

var mystr = "Matayoshi";
mystr = ["Mariano", mystr].join(' ');

答案 7 :(得分:0)

您可以使用

var mystr = "Doe";
mystr = "John " + mystr;
console.log(mystr)