想要避免使用eval和Function构造函数

时间:2010-01-01 21:13:59

标签: javascript function eval

在不使用Function构造函数的情况下努力替换eval。难住了。我不是新手,也不是专家。

jslint说这是邪恶的;当我用Function构造函数替换它时,它说这只是eval()的一种形式!

   evaluateEventScript: function(requestObject) {
        var resultData;
        resultData = eval(requestObject.script);
        //send resultData elsewhere...
   }

帮助??

1 个答案:

答案 0 :(得分:3)

你不能简单地在场景中传递一个函数对象吗? e.g

var c = function(){
   ...
}


var evaluateEventScript = function(requestObject) {
    var resultData;
    resultData = requestObject();
    //send resultData elsewhere...
}

evaluateEventScript(c);

或者这种形式的东西?这可以在没有eval或Function构造函数的情况下工作。但它要求requestObject是一个函数对象,而不是一个String。