我知道eval
和with
通常是气馁的,但暂时搁置一旁,我无法让这段代码发挥作用:
with({ a: 'hello world' }){
var output = eval('{ text: a }')
}
我希望output
成为对象:
{ text: "hello world" }
但output
是字符串'hello world'
有人能帮我看看我错过了吗?
答案 0 :(得分:3)
你需要括号:
var output = eval('({ text: a })')
参见例如Why does JavaScript's eval need parentheses to eval JSON data?