Javascript使用变量名来线程化一个函数?

时间:2015-05-23 14:24:18

标签: javascript function variables

在GSC中,您可以使变量成为您线程化的函数的名称。它看起来像这样:

variable = "pizza";
[[variable]]();
然后引擎读取它:

pizza();

我的问题是,是否可以轻松地在javascript中执行此操作,还是必须为其创建if / else / switch语句?

1 个答案:

答案 0 :(得分:0)

  

我的问题是,是否可以轻松地在javascript中执行此操作   我必须为它做if / else / switch语句吗?

如果您想使用安全,防故障的方式,那么您只能在两个上下文中访问这些变量。

  1. 如果变量在全局上下文中,则可以执行window[variable]();
  2. 否则,如果变量是对象的属性,在这种情况下,您可以执行obj_name[variable](),基本上可以通过括号表示法访问。 window也是一个对象。
  3. <小时/> 然后总是那么脏:

    • 您可以像eval一样使用高度邪恶的eval(variable + "()"),也可以以相同的方式使用Function构造函数。但请注意,这两种方法都可能被滥用,并且非常建议不要使用。