var f = "world!";
var b = `hello ${f}`;
b now == hello world!
我希望下面的函数将所有值设置为字符串变量我知道这个函数失败并且会给undefined f
为什么我需要这个功能...我会从PHP传递一些数据,我希望在Javascript中保存这些数据
和
使用此数据呈现一些HTML
var p =`hello ${f}`;
var b = 'world!';
function render(x,f){
console.log(x);
}
render(p,b);
像这样的功能的任何想法
答案 0 :(得分:0)
由于JS的工作方式,这是不可能的。
理论上,模板在JS中非常强大,您可以使用标记模板并获得非常漂亮的东西。但是,在您的情况下,如果未定义f
,则您不希望出现错误。
在函数之前评估<{1}}的引用 - 当找到未知标识符时,JavaScript将抛出f
。
您可以使用常规模板引擎,例如Mustache或使用简单的辅助函数和正则表达式 - 只需使用反引号模板语法。
或者,在中传递函数:
ReferenceError
或者,如果你真的非常,那么var p = o => `hello ${o.f}`;
var b = 'world!';
function render(x,f){
console.log(x({f}));
}
和动态范围可以让你在像KnockoutJS这样的库这样的属性之前省略with
。