function Parsejson(data){
return (new Function('return '+data))();
}
var str="{'a':'123','b':'abc'}";
var obj=Parsejson(str);
alert(obj.b)
为什么通过这种方式就能直接转换成json对象,new Function('return '+data)这个动态创建一个函数,用闭包执行它,
return (new Function('return '+data))();
}
var str="{'a':'123','b':'abc'}";
var obj=Parsejson(str);
alert(obj.b)
为什么通过这种方式就能直接转换成json对象,new Function('return '+data)这个动态创建一个函数,用闭包执行它,
function Parsejson(data){
return (new Function('return '+data))();
}
var str="{'a':'123','b':'abc'}";
var str1 = 'str'; //新增加语句
var obj=Parsejson(str1); //传入参数 str1
alert(obj.b)
结果和你上面的结果一致。
如果传入的 str 是number 类型 new Function 会把 str 当数值使用 例如 str = 123; 结果就是123
如果传入的 str 是非number类型 new Function 会把 str 当引用类型使用
5
function Parsejson(data){
return (new Function('return '+data))();
}
var str="{'a':'123','b':'abc'}";
var obj=Parsejson(str);
alert(obj.b)
为什么通过这种方式就能直接转换成json对象,new Function('return '+data)这个动态创建一个函数,用闭包执行它,它不也是单纯的将字符串返回了吗?,怎么就能转化成json对象了
return (new Function('return '+data))();
}
var str="{'a':'123','b':'abc'}";
var obj=Parsejson(str);
alert(obj.b)
为什么通过这种方式就能直接转换成json对象,new Function('return '+data)这个动态创建一个函数,用闭包执行它,它不也是单纯的将字符串返回了吗?,怎么就能转化成json对象了