昨日的eval更新
2016-12-06 本文已影响16人
星空有月
eval功能很强大,经常用到
例1:字符串
var str = '11';
var c = eval(str);//number类型 11
alert(typeof c);
例2:数组
var str = '[1,4,6,2]';
alert(typeof eval(str));//object类型 结果是一个数组
例3:json:(a:可以将字符串转为json)
var str = '{"a":1,"b":"abc"}';//str类型为object {"a":"1","b":"abc"}
alert(eval('('+str+')').a);//number 1
与eval功能一样的函数:(b:可以将字符串转为json)
var str = '{a:1,b:2}';
var jsonD = new Function('return'+str)();
alert(typeof jsonD);
将字符串转为json(c:可以将字符串转为json)
var str = '{"a":1,"b":"asd"}';
var json = JSON.parse(str);
将json转为字符串:
var json = {"a":1,"b":"asd"};
var str = jsonstringify(json)
原生版json转字符串
function json2Str(json){
json.t=Math.random();//加随机数
var arr=[];
for(var name in json){
arr.push(name+'='+json[name]);
}
return arr.join('&');
}