有人可以解释以下两种语法之间的细微差别吗?
(我正在使用rails和turbolinks和我的coffeescript)
1)我发现了这种推荐的代码调用方式。
windowReady = ->
customFunction = ->
...code...
jQuery ($) ->
...code...
$(window).load(windowReady);
$(window).on('page:load', windowReady);
2)我还使用了以下语法,但行为没有明显差异。
(->
customFunction = ->
...code...
jQuery ($) ->
...code...
).call this
这两种方式应该注意哪些微妙的差异,以及如何解决它们? 比另一个更优选吗?
答案 0 :(得分:1)
这是苹果与橘子的比较。
显然windowReady
和匿名函数的主体是相同的,但第一个版本是使用JQuery(我猜TurboLinks)库而第二个版本是(在方法本身之外)直接JS / CS。
如上所述,第二个版本将只执行一次匿名函数 - 然后首先加载并执行JS / CS文件。每当windowReady
事件被触发时,第一个版本将执行page:load
函数。