在coffeescript中使用私有变量的闭包

发布于 2024-12-08 18:28:16 字数 241 浏览 0 评论 0原文

在 JavaScript 中,可以通过使其成为返回闭包的函数中的局部变量来定义私有成员变量:

var count = (function(){
  var i = 0;
  return function (){ return i++; }
})();

这涉及到在 JavaScript 中相当常见的“定义函数然后调用它”习惯用法,但我不知道如何实现它翻译成 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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

写下不归期 2024-12-15 18:28:16

您可以使用 do 关键字

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

You can use the do keyword

count = do ->
  i = 0
  -> i++
无风消散 2024-12-15 18:28:16

正如 Brian 所说,do 关键字是最好的。您还可以使用括号,就像在 JavaScript 中一样:

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

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

count = (->
  i = 0
  -> i++
)()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文