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 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/piaoyinluo2316/article/details/87003745