var obj=eval("("+data+")"); 看看下面这条,应该能想到json的数据结构“+(json对象名)+”由于json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式.因为把它视为一个整体,所以要加上园 括号,即(“+(json对象名)+”)接着,要把这个Json数据整体用eval进行javascript翻译,外面应该再加上一对引号,即eval("(“+(json对象名)+”)…
<script language="javascript"> var user = '{name:"张三",age:23,'+ 'address:{city:"青岛",zip:"266071"},'+ 'email:"iteacher@haiersoft.com.cn",'+ 'showInfo:function(){'+ 'document.write("姓名:"+this…
关于JSON对象,以及联合数组,eval函数的使用参考 var json="{persons:[{name:'Zhangsan',sex:'male'},{name:'Lisi',sex:'female'}],school:'Jianghan'}"; json="("+json+")"; var obj=eval(json); alert(obj.persons[0].name); // Output:'Zhangsan' alert(obj.s…
var u = eval('('+user+')'); 1.对于服务器返回的JSON字符串,如果jQuery异步请求没做类型说明,或者以字符串方式接受,那么需要做一次对象化处理,方式不是太麻烦,就是将该字符串放于eval()中执行一次.这种方式也适合以普通javascipt方式获取json对象,以下举例说明: var u = eval('('+user+')'); 为什么要 eval这里要添加('('+user+')') ”呢? 原因在于:eval本身的问题. 由于json是以”{}”的方式来开…
eval在js中用来运行以js源码组成的字符串. 可以用来改变全局或者局部变量,例如: var globalEval = eval; //定义全局eval函数别名 var a ='global', b = 'global'; //全局变量 function c() { var a = 'local'; //局部变量 eval('a+="changed"'); //直接更改局部变量的值 return a; //返回更改后的局部变量 } function d() { var b = 'lo…