发布网友
共1个回答
热心网友
首先,建议不要使用eval函数,这个函数本身有些地方不安全,如果想把字符串转换成json建议使用ecmascript5提供的JSON.parse(txt)来进行转换。
再说说为什么要加括号的问题。因为json对象的大括号会在eval的执行环境里看成是一个复合语句,和if(1==1){}大括号是一样的。说白了只要让{……}所表示的复合语句不让解析不能理解就可以了。追问复合语句和json的声明有什么区别呢?
这种eval需要加括号的情况除了用在这里还会用在哪里呢?
追答
复合语句是复合语句,json声明是json声明,两者本来没有联系,说白了就是在js里