如何将变量放在javascript字符串中?

2022-08-30 01:01:10
s = 'hello %s, how are you doing' % (my_name)

这就是你在python中的做法。你怎么能在javascript/node.js做到这一点?


答案 1

使用 Node.js,您可以使用 ES6 的模板字符串v4

var my_name = 'John';
var s = `hello ${my_name}, how are you doing`;
console.log(s); // prints hello John, how are you doing

您需要将字符串包装在(反引号)而不是(撇号)中`'


答案 2

请注意,从 2015 年开始,只需使用反引号进行模板化

https://stackoverflow.com/a/37245773/294884

let a = `hello ${name}`    // NOTE!!!!!!!! ` not ' or "

请注意,这是一个反引号,而不是引号。


如果你想有类似的东西,你可以创建一个函数:

function parse(str) {
    var args = [].slice.call(arguments, 1),
        i = 0;

    return str.replace(/%s/g, () => args[i++]);
}

用法:

s = parse('hello %s, how are you doing', my_name);

这只是一个简单的示例,没有考虑不同类型的数据类型(如 等)或 转义 。但我希望它能给你一些想法。我很确定那里也有提供类似功能的库。%i%s