javascript - 在运行时创建一个函数

标签 javascript

有没有一种方法可以在不使用 eval() 的情况下在运行时使用设计时未知(但可信)的内容创建函数?

基本上,出于性能原因,我正在尝试创建一个“硬编码”函数,因为它将被调用很多次。 在许多调用开始之前,只有“硬编码”会在运行时完成一次。

(未经测试的例子)

var strFuncString = 'function(){';
for (some loop)
{
    strFuncString+='DoSomething()'; //if this can be made to reference an object obtained for the for-loop then even better - i.e. Myfunc+=Obj.DoSomething
}
var MyFunc = eval(strFuncString  '}');

SomeProcessThatCallsItsArgALot(MyFunc);

我在调试器中试过了,但不出所料,它不起作用

((function(){console.log(1);} )+( function(){console.log(2);}))()

最佳答案

关于javascript - 在运行时创建一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16937975/

相关文章:

javascript - JSON解析失败

javascript - 从对象属性中删除双引号,除非以数字开头

javascript - 自定义绑定(bind)未按预期工作

javascript - 如何更改原型(prototype)中单击的元素innerHTML

javascript - 如何在php中获得对单个ajax请求的多个响应

javascript - 如何使用 fancybox 手动打开 YouTube 视频

javascript - Material Design 图标按钮无法正常工作

javascript - 根据列高亮显示不同颜色的表格行

javascript - 从 Kendo 上的 ListView 项模板访问模型数据

javascript - 如何获取鼠标点击div的宽度?