我知道在PHP中我们可以这样做:
$hello = "foo";
$my_string = "I pity the $hello";
输出:"I pity the foo"
我想知道同样的事情在JavaScript中是否也是可能的。在字符串中使用变量而不使用连接-它看起来更简洁和优雅。
我知道在PHP中我们可以这样做:
$hello = "foo";
$my_string = "I pity the $hello";
输出:"I pity the foo"
我想知道同样的事情在JavaScript中是否也是可能的。在字符串中使用变量而不使用连接-它看起来更简洁和优雅。
当前回答
简单的使用方法:
var util = require('util');
var value = 15;
var s = util.format("The variable value is: %s", value)
其他回答
简单的使用方法:
var util = require('util');
var value = 15;
var s = util.format("The variable value is: %s", value)
在Firefox 34 / Chrome 41 / Safari 9 / Microsoft Edge之前,不,这在javascript中是不可能的。你将不得不求助于:
var hello = "foo";
var my_string = "I pity the " + hello;
在Firefox 34 / Chrome 41 / Safari 9 / Microsoft Edge之前,没有。尽管你可以尝试JavaScript的sprintf来实现:
var hello = "foo";
var my_string = sprintf("I pity the %s", hello);
String.prototype.interpole = function () {
var c=0, txt=this;
while (txt.search(/{var}/g) > 0){
txt = txt.replace(/{var}/, arguments[c]);
c++;
}
return txt;
}
Uso:
var hello = "foo";
var my_string = "I pity the {var}".interpole(hello);
//resultado "I pity the foo"
如果你想为微模板做插值,我喜欢用Mustache.js。