eval函数欺负我

var str = eval('('+ jsonString +')');  
 
1、为什么要加括号?  
 
加上圆括号的目的是迫使eval函数在评估JavaScript代码的时候强制将括号内的表达式(jsonString)转化为对象,而不是作为语句(statement)来执行。  
例如对象字面量{},如若不加外层的括号,那么eval会将大括号识别为JavaScript代码块的开始和结束标记,那么{}将会被认为是执行了一句空语句。  
 
2、JSON格式的名字部分为什么要加引号?
 因为eval函数会将{foo:”bar”}解释成合法的JavaScript语句,而非表达式。但是人们往往想要的是让eval将这段代码解释成一个对 象。所以JSON格式会强制你去在名字的外侧加上引号再结合圆括号,这样eval就不会错误的将JSON解释成代码块。 

 

 

 

 

---0101-0101-01-0111-0110-110-10011-------

如果,人生可以编码 …… 

原文地址:https://www.cnblogs.com/liyinkan/p/2171568.html