为什么用eval()将json字符串转换为对象要多加一个小括号
对象字面量 {},如若不加外层的括号,那么 eval 会将大括号识别为j avascript 代码块的开始和结束标记,那么{}将会被认为是执行了一句空语句。而加了()小括号之后,就被处理为一个对象了。所以上面两个执行结果是不同的
window.alert(eval("{}"));// return undefined
window.alert(eval("({})"));// return object[Object]
对象字面量 {},如若不加外层的括号,那么 eval 会将大括号识别为j avascript 代码块的开始和结束标记,那么{}将会被认为是执行了一句空语句。而加了()小括号之后,就被处理为一个对象了。所以上面两个执行结果是不同的
window.alert(eval("{}"));// return undefined
window.alert(eval("({})"));// return object[Object]