2013-02-24 124 views
0

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

我有一个字符串函数数据

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

而且我想转成包装的函数

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

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

var b = a; 

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

我想知道什么人会在一般做转成包装功能。

非常感谢您的建议。

回答

3

您也可以使用函数的构造与new关键字这样。

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

会导致一个警告框,“你好”

你甚至可以使用这种方法,它接受的参数做出新的功能。看到这里https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function

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

+0

非常感谢你! – Till 2013-02-24 05:08:58

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

但不要

+0

非常感谢你! – Till 2013-02-24 05:09:57