如何在 Javascript 中运行存储在变量中的动态生成的函数
How to run a dynamically generated function stored in a variable in Javascript
>我有一个从动态生成的html调用的函数,但它没有被执行
函数。
$.check = function(s){
alert (s);
}
....然后。。。以下函数对象的内容值是上述函数的调用。
value is var s = 'hey';$.check(s);
function( event, ui) {
//////The following does nothing, not even an error
return ui.item.value;
}
如何执行存储在"值"中的函数;
在浏览器中执行此操作的唯一方法是eval
eval(ui.item.value);
Node支持更高级的东西,如vm.runInNewContext(value,{/* context */})
。
但要小心,这是危险的。 https://www.google.com/?q=eval+is+evil
这很简单,只需执行以下操作:
function( event, ui) {
if (typeof ui.item.value === 'function') {
ui.item.value.call();
}
}
将该var s
创建为函数,如下所示:
ui.item.value = function () {
var s = 'hey';
$.check(s);
}
相关文章:
- 用javascript中的param执行动态函数
- 节点.js:尝试侦听设置为动态函数的变量时出错
- 如何将动态函数绑定到动态事件
- 使用动态函数调用创建 JS 库
- 在 Jscript 中为 Q.all() 构建一个动态函数数组
- 带有传递参数的 jquery UI 对话框动态函数
- JavaScript 动态函数名称
- 动态函数/对象名称
- ExtJs4 如何在循环中创建动态函数
- 循环内部的动态函数:i var不可见
- 数组到动态函数:是否使用eval
- 使用动态函数名编写Javascript新对象实例
- 如何使用javascript构建动态函数
- 使用具有动态函数绑定的测试间谍的好方法
- AddEventListener对匿名函数的动态函数引用
- Javascript为对象添加动态函数
- Javascript动态函数
- 动态函数调用不变
- 将静态javascript函数转换为动态函数
- 从ng-click调用动态函数