我尝试使用eval将一些javascript代码作为字符串执行。我遇到的问题是字符串(它是模板文字)具有嵌套的模板文字,例如$ {} obj.height。没有执行的。
如何执行此操作并使模板文字返回其值?
let code = `
let obj = {
height: 150,
width: 30,
top: 10,
left: 30,
position: "absolute"
}
$(pageContainer).append(
<iframe type="text/html"
style="height:${obj.height}; width:${obj.width};top:${obj.top}; left:${obj.left}; position:${obj.position};"
src="dummy url"
frameborder="0">
</iframe>
);
`;
eval(code);
答案 0 :(得分:2)
我猜你想要这样的东西:
const code=`let x = {foo: 42}; console.log(${`x.foo`})`;
eval(code);