JavaScript:更好的解决方案而不是eval()

时间:2014-03-11 12:19:20

标签: javascript

我有一个用JavaScript编写的类populateTabs。在方法内部,我需要初始化不同的方法,如:

  • populateTabs.facebookStatus();
  • populateTabs.twitterStatus();
  • populateTabs.googleStatus();

我想用一个名为facebook的参数替换twittergooglechannelName,而不是使用条件甚至包含多个案例的switch语句。< / p>

我有这个选择:

  • eval ( 'populateTabs.' + channelName + 'Status()' );据我所知,这不是正确使用
  • populateTabs[channelName + 'Status'];正确使用

我已经读过,建议不要使用eval()

我的问题是否有更好更安全的解决方案?除了使用switch语句或条件语句。所有这些都是编写较少代码的主题,我很好奇。

1 个答案:

答案 0 :(得分:1)

是的,有一种比eval更好的技术,你在你的问题中写道:

populateTabs[channelName + 'Status']; (proper use)

你还想要什么?如你所说,这是正确的做法。