【发布时间】:2012-04-25 00:14:25
【问题描述】:
我已经构建了一个 GUI,它传入一个长 JS 对象作为动画插件的设置。其中一项设置允许用户在动画完成后调用函数。不幸的是,它必须作为字符串传递给 JS 对象。
... [ 'functioncall()' ] ......
在我的动画回调中,我正在检索此字符串并尝试将其作为函数运行。
第一次尝试完美,但使用 eval...
eval( OS.path_jscall[index].path_jscall[0][i] )
我设置了一个更喜欢的方法,如下所示:
var HookFunction=new Function( OS.path_jscall[index].path_jscall[0][i] );
HookFunction();
这两个例子都完美地调用了 functioncall() 函数。我不确定如何将 (this) 传递给 functioncall()...
functioncall(obj){ console.log(obj); };
一切都在引用窗口。有任何想法吗?谢谢!
【问题讨论】:
-
"它必须作为字符串传递给 JS 对象" 为什么?
标签: javascript jquery function call eval