Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 想要避免eval和函数构造函数吗_Javascript_Function_Eval - Fatal编程技术网

Javascript 想要避免eval和函数构造函数吗

Javascript 想要避免eval和函数构造函数吗,javascript,function,eval,Javascript,Function,Eval,试图在不使用函数构造函数的情况下替换eval。难倒了。我不是新手,但也不是专家 杰斯林特说这是邪恶的;当我用函数构造函数替换它时,它说这只是eval()的一种形式 帮助???您不能在场景中简单地传递函数对象吗? e、 g 还是这种形式的?这可以在没有eval或函数构造函数的情况下工作。但它要求requestObject是函数对象,而不是字符串。您想解决什么问题?请澄清您的问题是什么。requestObject.script中的内容是什么?我假设要执行一个JavaScript块,但它是函数、AJA

试图在不使用函数构造函数的情况下替换eval。难倒了。我不是新手,但也不是专家

杰斯林特说这是邪恶的;当我用函数构造函数替换它时,它说这只是eval()的一种形式


帮助???

您不能在场景中简单地传递函数对象吗? e、 g


还是这种形式的?这可以在没有eval或函数构造函数的情况下工作。但它要求requestObject是函数对象,而不是字符串。

您想解决什么问题?请澄清您的问题是什么。
requestObject.script中的内容是什么?我假设要执行一个JavaScript块,但它是函数、AJAX请求的结果等吗?此时,我不确定requestObject.script中JS代码的细节。很可能是一些JSON,因为这是代码中常用的(我刚刚继承的)。>“那么eval是您的第一个赌注…”好吧,所以有时候忽略jslint关于eval是邪恶的建议是可以的?许多网站甚至说“几乎总有一种方法可以避免评估,你应该这样做”,但他们没有解释如何避免评估。也许是时候投资一本好的JS书籍,而不是用谷歌搜索答案了。这个论坛真的很酷——我也在寻找我可以回答的问题,以回馈。我会检查一下,看看是否可以按照你的建议在这里使用闭包。如果我只想用我提供的上下文替换eval,我仍然会对规定的技术感兴趣。提前谢谢。@Dave,eval总是邪恶的。你说得对,编辑了答案。
   evaluateEventScript: function(requestObject) {
        var resultData;
        resultData = eval(requestObject.script);
        //send resultData elsewhere...
   }
var c = function(){
   ...
}


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

evaluateEventScript(c);