使用eval将字符串转换为函数是不是很邪恶?

ner*_*ess 0 javascript

我在eval()上听到了很多不同的意见,并且有点不确定在这种情况下是否可以使用eval():

假设我有一个这样的对象:

var bla = {
blubb: function (callback) {
       //GET some stuff via ajax
       //call the callback
    }
}
Run Code Online (Sandbox Code Playgroud)

和这样的字符串:

 var someString = "bla.blubb";
Run Code Online (Sandbox Code Playgroud)

为了调用函数(和回调函数)来评估字符串是不是很邪恶?

var callMe = eval(someString)
callMe(function(){
   alert('yay')!
});
Run Code Online (Sandbox Code Playgroud)

Ber*_*rgi 5

我听过很多关于eval()的不同意见

eval 一般来说不是邪恶的,有它的应用.

不确定在这种情况下是否可以使用eval()

不,这不是好事.使用简单括号表示法成员运算符有一个更好的解决方案.由于每天都会询问SO,我可以在这里列出数百个欺骗(只是前几个Google结果):


归档时间:

查看次数:

700 次

最近记录:

6 年,6 月 前