eval表示javascript中json对象
eval函数可以一些字符串转为javascript对象,当然json对象也不例外。。。
例如有这么一段代码
{open:function(){
alert("1"),
status:'close'
}}
现在是字符串对象,需要转换为json对象。。怎么转换呢?
首先想到了eval。。
var jsonObj=eval('{open:function(){
alert("1"),
status:'close'
}}');
当我们使用jsonObj时发现无法取到相关属性和函数的。。
以为这里的{}需要转义。。因为{}可以表示为语句块,也可以为对象字面量。。加()可以消除这种二义性。。
所以正确的是:
var jsonObj=('({open:function(){
alert("1"),
status:'close'
}})');