jQuery立即调用CoffeeScript中的函数?

时间:2014-11-09 04:21:18

标签: jquery coffeescript

在jQuery页面explaining how to make plugins上,有一些代码:

(function ( $ ) {
  var shade = "#556b2f";

  $.fn.greenify = function() {
    this.css( "color", shade );
    return this;
  };
}( jQuery ));

如何在CoffeeScript中表示这一点?如果我试试这个:

do ($) ->
  x = 'do nothing'

它编译为:

(function($) {
  var x;
  return x = 'do nothing';
})($);

我无法弄清楚如何将jQuery对象传递给函数。

1 个答案:

答案 0 :(得分:2)

你在CoffeeScript中以与JavaScript相同的方式完成它。你只需要抛出一些额外的括号:

(($) ->
  # plugin goes here and uses $
)(jQuery)

这就是这个JavaScript:

(function($) {
  ...
})(jQuery);

如果您对括号有病态恐惧,那么您​​仍然可以使用do但是您使用默认值设置$别名:

do ($ = jQuery) ->
  # plugin code goes here

这也译为:

(function($) {
  ...
})(jQuery);