eval()里面放了json的格式的数据,是何操作

来源:百度知道 编辑:UC知道 时间:2024/07/02 17:43:53
eval(({'priceA':'26.49','priceB':'12.25','priceC':'10.11','lastUpdateTime':'2009-03-25 16:44:29'}));这句话是做了什么作用?请知道的朋友解答一下
eval(({'priceA':'26.49','priceB':'12.25','priceC':'10.11','lastUpdateTime':'2009-03-25 16:44:29'}));
var obj = {'priceA':'26.49','priceB':'12.25','priceC':'10.11','lastUpdateTime':'2009-03-25 16:44:29'} 这两句为什么是一样的?原理是什么呢
还有,我感觉eval里面是不是多了一个括号呢?要是不是,为什么要这么写呢?
问题比较多,呵呵

eval()是把传入参数当语句运行的函数
eval(({'priceA':'26.49','priceB':'12.25','priceC':'10.11','lastUpdateTime':'2009-03-25 16:44:29'}));
这句执行的效果就和
var obj = {'priceA':'26.49','priceB':'12.25','priceC':'10.11','lastUpdateTime':'2009-03-25 16:44:29'}
一样,返回了一个包含有priceA, priceB等成员的object类型的变量。这样,可以把JSON中的数据读取到javascript对象中。

var obj = eval(({'priceA':'26.49','priceB':'12.25','priceC':'10.11','lastUpdateTime':'2009-03-25 16:44:29'}));
obj.priceA // 26.49
obj.priceB // 12.25
obj.priceC // 10.11
obj.lastUpdateTime // 2009-03-25 16:44:29

补充:
那对括号的问题,我试了一下,确实是可要可不要,没有那多余的一对括号也没有问题。
至于两者为什么一样,我前面也说了,eval函数就是把传给它的参数当成js语句来执行的,现在传给它的参数是
{'priceA':'26.49','priceB':'12.25','priceC':&#