好吧,这是一个 String.format(如 c#);我已经扩展了 javascriptsString
对象以包含这样的格式方法:
String.format = function(stringToFormat, argsForFormat) {
for (var i = 0; i < argsForFormat.length; i++) {
var regex = new RegExp('\{(' + i + ')}', 'g');
stringToFormat = stringToFormat.replace(regex, argsForFormat[i]);
}
return stringToFormat;
};
你可以这样称呼它
var args = [1, 'activity', 'stackoverflow', 'desc']
var apiUrlAnswer = 'https://api.stackexchange.com/2.0/answers/{0}?order={3}&sort={1}&site={2}';
var apiUrlAnswer = String.format(apiUrlAnswer, args);
或者内联版本看起来像这样
var apiUrlAnswer = String.format('https://api.stackexchange.com/2.0/answers/{0}?order={3}&sort={1}&site={2}', [1, 'activity', 'stackoverflow', 'desc']);
和另一个例子
String.format("http://{0}.{1}.com", ['www', 'stackoverflow']);