如何在Javascript中运行存储在变量中的动态生成的函数

时间:2014-11-26 10:39:01

标签: javascript jquery variables var

我有一个从动态生成的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;
       }

如何执行" value"中存储的功能;

2 个答案:

答案 0 :(得分:1)

在浏览器中执行此操作的唯一方法是eval

eval(ui.item.value);

Node支持更高级的内容,例如vm.runInNewContext(value,{/* context */})

但要注意eval,这很危险。 https://www.google.com/?q=eval+is+evil

答案 1 :(得分:0)

这很简单,只需:

function( event, ui) {
    if (typeof ui.item.value === 'function') {
        ui.item.value.call();
    }
}

var s创建为函数,如下所示:

ui.item.value = function () {
    var s = 'hey';
    $.check(s);
}