eval和Google闭包编译器存在问题

| 我正在使用Google Closure压缩我的代码,但是以下代码行存在问题:
        eval(\'this.find(\\\'\'+ element_to_append_the_controller+ \'\\\').\'+controller_to_load+\'(options_for_controller)\');
我必须使用eval,因为我必须在元素上执行的方法(
controller_to_load
)是可变的,并且取决于我得到的参数。 我的问题是我必须将一个对象传递给该方法,所以我将其作为变量名(
options_for_controller
)的字符串表示形式进行,但是闭包将更改该名称,而不会更改我的变量名。评估字符串。 我的解决方案是: 将变量名动态化为字符串 将对象(带有回调函数)解析为字符串 禁用这些代码行的压缩 但是,我该怎么办其中之一?还是有其他解决方案? 谢谢     
已邀请:
一些程序员使用eval是因为他们没有意识到而不是写
eval(\'a.\' + b)
而是可以写
a[b]
试试这个代替你的eval()
this.find(element_to_append_the_controller.toString())[controller_to_load](options_for_controller);
    
this.find(element_to_append_the_controller.toString())[controller_to_load](options_for_controller)
也就是不使用eval。     

要回复问题请先登录注册