Javascript 将eval与'with'连用`

Javascript 将eval与'with'连用`,javascript,Javascript,我知道eval和with通常是不被鼓励的,但暂时不提,我很难让这个代码正常工作: with({ a: 'hello world' }){ var output = eval('{ text: a }') } 我希望输出是对象: { text: "hello world" } 但是,输出是字符串“hello world” 有人能帮我看看我遗漏了什么吗?你需要用括号括起来: var output = eval('({ text: a })') 见例

我知道
eval
with
通常是不被鼓励的,但暂时不提,我很难让这个代码正常工作:

with({ a: 'hello world' }){
    var output = eval('{ text: a }')
}
我希望
输出
对象

{ text: "hello world" }
但是,
输出
字符串“hello world”


有人能帮我看看我遗漏了什么吗?

你需要用括号括起来:

 var output = eval('({ text: a })')
见例