0

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

我有一个字符串函数数据

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

我想把 a 变成一个包装的函数

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

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

var b = a;

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

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

非常感谢您的建议。

4

2 回答 2

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

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

于 2013-02-24T05:00:42.670 回答
1
var a = eval (" return function() { alert('yo')}; ");

但是不要

于 2013-02-24T04:56:50.127 回答