如何解决如何用简单的函数替换新的Functionstring构造函数
如果不是一个重复的问题,我想知道如何将使用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 举报,一经查实,本站将立刻删除。