将文本添加到字符串的开头

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

217843 次浏览
var mystr = "Doe";
mystr = "John " + mystr;

这对你不管用吗?

你可以这么做。

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.

你可以用

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

你也可以这样做

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

如果你想使用称为 ES 2015(又名 ES6)或更高版本的 Javascript,你可以使用 ES 2015引入的 模板字符串,并根据一些指南(如 Airbnb 的时尚指南)推荐使用:

const after = "test";
const mystr = `This is: ${after}`;

ES6:

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

另一种选择是使用 加入

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

因为问题是什么是 最快方法,所以我想我应该添加一些 perf 指标。

胜出者是 +运算符,而 求你了从不使用正则表达式

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

enter image description here

你可以这样使用 padStart:

'ello'.padStart(5,'h');
//padStart(maxLength, fillString)
//output: hello

参见 MDN: String.Prototype.padStart ()