从字符串调用命名空间函数

Zen*_*nth -2 javascript

现在我使用此方法调用命名空间内的函数:

eval('Admin.' + section + '.' + action + '()');
Run Code Online (Sandbox Code Playgroud)

但我不喜欢使用eval,我需要调用不同命名空间中的方法,使用JSON给我的字符串创建调用,但我认为这不是好系统,因为eval它很危险.

任何其他形式使这个工作?谢谢!

Poi*_*nty 6

您可以使用[]运算符来执行此操作:

Admin[ section ][ action ]();
Run Code Online (Sandbox Code Playgroud)