CoffeeScript做,传递参数

che*_*lou 13 javascript coffeescript

以下CoffeeScript代码:

do (a) ->
    console.log a
Run Code Online (Sandbox Code Playgroud)

生成这个:

(function(a) {
  return console.log(a);
})(a);
Run Code Online (Sandbox Code Playgroud)

如何将值传递给这样的值?

(function(a) {
  return console.log(a);
})("hello");
Run Code Online (Sandbox Code Playgroud)

epi*_*ian 21

do (a = 'hello') ->
  console.log a
Run Code Online (Sandbox Code Playgroud)

产生你想要的.

虽然,我不得不承认我无法理解这样做的意义.如果你真的想在该范围内a取得字面值'hello',那么为什么要制作另一个范围呢?随着a声明的正常变量a = 'hello'就足够了.现在,如果你想a用另一个变量的值替换(可能在一个循环或其他东西中改变)do (a = b) ->然后我认为它更有意义,但你可以简单地做do (a) ->,只是使用a而不是bdo范围内.

  • `do($ = jQuery) - >`是一个常见的用例 (10认同)