Python有一个漂亮的函数来实现这一点:
bar1 = 'foobar'
bar2 = 'jumped'
bar3 = 'dog'
foo = 'The lazy ' + bar3 + ' ' + bar2 ' over the ' + bar1
# The lazy dog jumped over the foobar
如下所示:
bar1 = 'foobar'
bar2 = 'jumped'
bar3 = 'dog'
foo = 'The lazy {} {} over the {}'.format(bar3, bar2, bar1)
# The lazy dog jumped over the foobar
JavaScript有这样的功能吗?如果不是,我该如何创建一个与Python的实现语法相同的代码呢?
发布于 2011-02-12 06:25:08
另一种方法是使用String.prototype.replace
方法,将"replacer“函数作为第二个参数:
String.prototype.format = function () {
var i = 0, args = arguments;
return this.replace(/{}/g, function () {
return typeof args[i] != 'undefined' ? args[i++] : '';
});
};
var bar1 = 'foobar',
bar2 = 'jumped',
bar3 = 'dog';
'The lazy {} {} over the {}'.format(bar3, bar2, bar1);
// "The lazy dog jumped over the foobar"
发布于 2015-07-06 22:38:36
有一种方法,但不是完全使用格式。
var name = "John";
var age = 19;
var message = `My name is ${name} and I am ${age} years old`;
console.log(message);
jsfiddle - link
发布于 2013-11-23 20:37:10
在寻找相同问题的答案时,我只找到了这个:https://github.com/davidchambers/string-format,这是“受Python的str.format()
启发的JavaScript字符串格式化”。它看起来和python的format()
函数很像。
https://stackoverflow.com/questions/4974238
复制相似问题