使用Coffeescript中的可选参数创建匿名函数

时间:2011-10-07 15:59:34

标签: javascript coffeescript

我是Coffeescript的新手,我在翻这个Javascript时遇到了麻烦:

Handlebars.registerHelper("debug", function(optionalValue) {
  console.log("Current Context");
  console.log("====================");
  console.log(this);

  if (optionalValue) {
    console.log("Value");
    console.log("====================");
    console.log(optionalValue);
  }
});

进入Coffeescript工作。我想,我想要的部分是如何将“debug”参数传递给registerHelper函数,还传入一个带有可选参数的匿名函数。

此语法:

Handlebars.registerHelper: "debug", -> (optionalValue)
  console.log("Current Context")
  console.log("====================")
  console.log(this)

  if optionalValue
    console.log("Value")
    console.log("====================")

不适合我。

1 个答案:

答案 0 :(得分:5)

你有param和 - >逆转。
因为您正在调用registerHelper函数,所以也不需要分号。

Handlebars.registerHelper "debug", (optionalValue) -> 
 console.log("Current Context")
 console.log("====================")
 console.log(this)

 if optionalValue
  console.log("Value")
  console.log("====================")
  console.log(optionalValue)

从coffeescript编译为javascript:

Handlebars.registerHelper("debug", function(optionalValue) {
  console.log("Current Context");
  console.log("====================");
  console.log(this);
  if (optionalValue) {
    console.log("Value");
    console.log("====================");
    return console.log(optionalValue);
  }
});