发布于 3年前

为什么用eval()将json字符串转换为对象要多加一个小括号

对象字面量 {},如若不加外层的括号,那么 eval 会将大括号识别为j avascript 代码块的开始和结束标记,那么{}将会被认为是执行了一句空语句。而加了()小括号之后,就被处理为一个对象了。所以上面两个执行结果是不同的

window.alert(eval("{}"));// return undefined
window.alert(eval("({})"));// return object[Object]
©2020 edoou.com   京ICP备16001874号-3