js,将字符串转换为函数

js, turn string to function

本文关键字:函数 转换 字符串 js      更新时间:2023-09-26

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

我有一个字符串函数数据

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

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

a = function(){ a }; // failed
a = function(){ eval(a) };  // failed
var b = a;
a = function(){ eval(b) } // success

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

非常感谢你的建议。

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

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

会导致一个带有"你好"的警告框

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

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

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

但是不要