开发者

Using closure for private variables in coffeescript

In JavaScript, one would define a private member variable by making it a local variable in a function that returns a closure:

var count = (function(){
  var i = 0;开发者_开发问答
  return function (){ return i++; }
})();

This involves a define-function-then-call-it idiom that is fairly common in JavaScript, but I do not know how it translates in CoffeeScript. Any ideas?


You can use the do keyword

count = do ->
  i = 0
  -> i++


As Brian said, the do keyword is best. You can also use parens, just as in JavaScript:

count = (->
  i = 0
  -> i++
)()
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜