以字符串形式保存在对象中的脚本

时间:2017-09-29 17:38:58

标签: javascript

我有一个包含字符串的对象,实际上是一个脚本。

forms = {
    "528": {
        "thankyou_page_url": "",
        "external_url": "http:\/\/example.com",
        "use_external_url": "on",
        "open_in_new_tab": "",
        "after_sent_script": "alert( 'test script' );"
    },
};

我想在alert内运行after_sent_script函数,在另一个函数中运行。像这样:

jQuery(document).ready(function() {
    if (form.after_sent_script) {
        form.after_sent_script;
    }
});

这当然行不通。

怎么做?

2 个答案:

答案 0 :(得分:1)

您可以使用eval,但是您可以阅读使用eval时应该谨慎的原因。

var forms = {
    "528": {
        "thankyou_page_url": "",
        "external_url": "http:\/\/example.com",
        "use_external_url": "on",
        "open_in_new_tab": "",
        "after_sent_script": "alert( 'test script' );"
    },
};

eval(forms['528']['after_sent_script']);

答案 1 :(得分:1)

您可以使用eval function

jQuery(document).ready(function() {
    if (form.after_sent_script) {
        eval(form.after_sent_script);
    }
});