从包含另一个函数的字符串变量返回一个函数

时间:2015-03-05 12:37:58

标签: javascript jquery function return-value

我在字符串变量中有一个函数,我想执行一个按钮的onclick:

<button onclick="ReturningTrue();">Click!</button>

function ReturningTrue()
{
var stringValue = "var xyz = true; return xyz;";
return stringValue;
}

如何让这个onclick以这样的方式工作,它将返回真正的价值?有什么建议?基本上是包含另一个函数的字符串中的函数。

最终结果应为

<button onclick="var xyz = true; return xyz;">Click!</button>

2 个答案:

答案 0 :(得分:2)

试试这个:

<button onclick="ReturningTrue();">Click!</button>
<script>
function ReturningTrue() {
    var stringValue = "var xyz = true; return xyz;";
    return eval('(function(){' + stringValue + '})();');
}
</script>

答案 1 :(得分:1)

其他解决方案:

<button onclick="alert(ReturningTrue());">Click!</button>
<script>
function ReturningTrue()
{
    var stringValue = "var xyz = true; return xyz;";
    return new Function(stringValue)();
}
</script>