我有一个用JavaScript编写的类populateTabs
。在方法内部,我需要初始化不同的方法,如:
populateTabs.facebookStatus();
populateTabs.twitterStatus();
populateTabs.googleStatus();
我想用一个名为facebook
的参数替换twitter
,google
,channelName
,而不是使用条件甚至包含多个案例的switch语句。< / p>
我有这个选择:
eval ( 'populateTabs.' + channelName + 'Status()' );
(据我所知,这不是正确使用)populateTabs[channelName + 'Status'];
(正确使用)我已经读过,建议不要使用eval()
。
我的问题是否有更好更安全的解决方案?除了使用switch语句或条件语句。所有这些都是编写较少代码的主题,我很好奇。
答案 0 :(得分:1)
是的,有一种比eval
更好的技术,你在你的问题中写道:
populateTabs[channelName + 'Status']; (proper use)
你还想要什么?如你所说,这是正确的做法。