js,将字符串转换为函数

时间:2013-02-24 04:47:10

标签: javascript string function

我想知道如何将字符串转换为换行函数。

我有一个字符串函数数据

var a = new String("alert(turned)");

我想把一个变成一个包裹的函数

a = function(){ a }; // failed

a = function(){ eval(a) };  // failed

var b = a;

a = function(){ eval(b) } // success

我想知道人们通常会做什么来将a变成包装函数。

非常感谢你的建议。

2 个答案:

答案 0 :(得分:3)

您也可以将函数构造函数与new关键字一起使用。

var a = new String("alert('hello')");
a = new Function(a)
a()

会产生一个带有'hello'的警告框

您甚至可以使用接受参数的此方法创建新函数。见https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function

但是我会小心你变成一个函数。您不希望用户能够执行代码。

答案 1 :(得分:1)

var a = eval (" return function() { alert('yo')}; ");

但不要