【问题标题】:create anonymous function with optional argument in Coffeescript在 Coffeescript 中创建带有可选参数的匿名函数
【发布时间】:2011-12-03 03:23:42
【问题描述】:

我是 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。我想,我挂了的部分是如何将“调试”参数传递给 registerHelper 函数,以及传递一个接受可选参数的匿名函数。

这个语法:

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

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

不适合我。

【问题讨论】:

    标签: javascript coffeescript


    【解决方案1】:

    您的参数和 -> 颠倒了。
    您也不需要分号,因为您正在调用 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);
      }
    });
    

    【讨论】:

    • 非常感谢您的回复 - 感谢您抽出宝贵时间回复。完美运行。
    猜你喜欢
    • 2012-07-20
    • 1970-01-01
    • 2013-06-10
    • 2011-06-20
    • 1970-01-01
    • 2011-05-09
    • 2011-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多