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'}" onclick="search(this)"></div>
function search(e){
var search_condition=new Function('return'+$(e).attr('data-options'));
//查詢ing
}
3.關於JS中的new Function()
new Function()的參數是某個字符串,在使用時,編譯器會將參數中的字符串當作正常的腳本代碼來執行。利用這種方法來把字符串轉對象,可以簡單的想象成就是new出一個對象。