问题描述
如果不是一个重复的问题,我想知道如何将使用Function()构造函数创建的函数转换为简单函数。为了更好地解释问题,我将举一个例子:
function foo() {
var funcString = "console.log('hello'); var x = document.getElementById('content-1x');"
obj.assignFunction = new Function(funcString);
}
在这种情况下,funcString是一个作为字符串传递给的函数。
乍一看,这似乎很容易,因为您只需将代码行放入匿名函数中即可,该匿名函数将分配给obj.assignFunction,如下例所示:
function foo(){
obj.assignFunction = function(){
console.log('hello');
var x = document.getElementById('content-1x')
}
}
但是我的问题是我从HTML元素的属性获取函数字符串,并且它可能在其他页面中更改。 例如,可以从这些HTML范围中获取functionString
<span id="elem1" functionString="console.log('hello'); var x = 3*3">
因此,如您所见,函数字符串可以更改。 为了不分散,我以一个确切的问题结束:
如果functionString可以基于元素属性“ functionString”,也可以用function(){// functionString转换为新的Function(functionString)构造函数吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)