0

编辑:自己解决了。我通过将我的代码包装在一个类中来完成这项工作,所以@/this 指的是我的对象而不是窗口


我正在编写一个咖啡脚本脚本,而不使用 Class。我的 javascript 代码包含在一个匿名函数中:

(function() { ... }).call(this)

我有一个复选框列表,比如明天、昨天、下周、下个月等等。用户可以选择其中的一项或多项。我没有检查用户选择的内容,而是存储这些复选框类名(明天,下周......)。我没有检查我有哪些类名,然后调用适当的方法,而是创建了与类名对应的方法。

如果我的明天()是在全局范围内定义的,我会这样称呼它:

this[expression]()

其中表达式保存类名,例如明天。

为此,我定义了这样的函数:

  this.tomorrow = function() {
       return console.log("I was triggered");
  };

现在在全局范围内定义了明天()。有没有办法不费力地在全局范围内定义函数?

4

1 回答 1

0

我通过将我的代码包装在一个类中来完成这项工作,所以@/this 指的是我的对象而不是窗口。

@[expression]() 

现在按预期工作

于 2013-02-15T16:13:03.733 回答