从字符串和解析变量运行函数?

时间:2014-06-30 04:31:18

标签: javascript jquery string function arguments

假设我有一个带有此标记的对象:

var obj = {
    cat: function(string, bool, NEEDTHIS) {
        console.log(string, bool, NEEDTHIS);
    }
}

让我说我有这个函数,它的变量作为一个按钮的属性,我无法控制它是如何生成的。例如:

<button type="button" onclick="obj.cat('foo', true, 'dog');">PRINT</button>

我需要在按钮上运行此函数,但删除属性以便我可以解析自己的属性。

所以我将剥离属性'onclick',将其存储在如下字符串中:

var function = "obj.cat('foo', true);";

肯定有一种方法可以在不改变字符串的情况下添加另一个参数。

我也被困在如何运行函数中,因为它来自字符串。

这可能吗?

1 个答案:

答案 0 :(得分:0)

使用eval

var function = "obj.cat('foo', true);";
eval(function);