1.方法
关键就一句:var obj=new Function(‘return ‘+str)();
var str='{name:"Helen",age:"22",sex:"female"}';
var obj=new Function('return '+str)();
console.log(obj.name);//Helen
2.使用背景
div自定义属性为上述str(一般作为查询参数条件对象,但作为自定义属性应该是字符串)时,后期用到这个对象需做上述转换。例:
<div data-options=”{scope:’1′,regionCode:’370000′,timeCycle:’month’}” οnclick=”search(this)”></div>
function search(e){
var search_condition=new Function(‘return’+$(e).attr(‘data-options’));
//查询ing
}
3.关于JS中的new Function()
new Function()的参数是某个字符串,在使用时,编译器会将参数中的字符串当作正常的脚本代码来执行。利用这种方法来把字符串转对象,可以简单的想象成就是new出一个对象。
版权声明:本文为piaoyinluo2316原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。