基于Coffeescript和标记的JS执行
从这里的另一个线程中,我发现了这个关于基于标记的JS执行的伟大教程 加伯爱尔兰解决方案: 我正在查看如何在Coffeescript中实现这一部分 这很好用:基于Coffeescript和标记的JS执行,coffeescript,markup,Coffeescript,Markup,从这里的另一个线程中,我发现了这个关于基于标记的JS执行的伟大教程 加伯爱尔兰解决方案: 我正在查看如何在Coffeescript中实现这一部分 这很好用: SITENAME.surveys.show = -> alert "Hello CoffeeScript" 这表明: SITENAME.surveys.show = function() { return alert("Hello CoffeeScript"); }; 这个人不太高兴: SITENAME.surveys.
SITENAME.surveys.show = ->
alert "Hello CoffeeScript"
这表明:
SITENAME.surveys.show = function() {
return alert("Hello CoffeeScript");
};
这个人不太高兴:
SITENAME.surveys.new = ->
alert "Hello CoffeeScript"
SITENAME.surveys["new"] = function() {
return alert("Hello CoffeeScript");
};
我对Coffeescript还不熟悉,现在正在做一个codeschool.com课程。
我猜“new”关键字是专门为coffeescript设计的
有什么解决办法吗
谢谢
new
在JavaScript中是特殊的,CoffeeScript意识到这一点,所以它发出的代码实际上可以工作,即使使用保留关键字命名方法是不好的做法。new
在JavaScript中是特殊的,CoffeeScript意识到这一点,所以它发出的代码实际上可以工作,即使它不好练习使用保留关键字命名方法。如果需要使用new
,可以使用[]
定义函数:
SITENAME.surveys['new'] = ->
alert "Hello CoffeeScript"
并称之为:
SITENAME.surveys['new']()
演示:
快速查看您的链接表明,您将通过以下方式访问该功能:
controller = 'surveys'
action = 'new'
SITENAME[controller][action]()
因此,调用什么方法并不重要,因为您始终会通过它们的(字符串)名称引用它们。如果需要使用
new
,您可以使用[]
来定义函数:
SITENAME.surveys['new'] = ->
alert "Hello CoffeeScript"
并称之为:
SITENAME.surveys['new']()
演示:
快速查看您的链接表明,您将通过以下方式访问该功能:
controller = 'surveys'
action = 'new'
SITENAME[controller][action]()
因此,调用什么方法并不重要,因为无论如何,您总是通过它们的(字符串)名称来引用它们