Coffeescript绑定?

时间:2015-10-01 19:27:57

标签: coffeescript bind

我刚刚读完了 Coffeescript上的小书,我正试图理解语言。我正试图弄清楚如何做一个普通的香草绑定。这是我的代码:

times = (a = 1, b = 2) -> a*b 
h  = alert.bind times 8, 9    
h

这不会产生任何错误,但它也不会运行任何警报。我究竟做错了什么?

2 个答案:

答案 0 :(得分:2)

  1. 您没有调用函数h。您需要致电h()
  2. 此代码没有意义。第2行转换为var h = alert.bind(times(8, 9)),表示您正在尝试创建alert this 72 Uncaught TypeError: Illegal invocation的版本。 ???你不能这样做。
  3. 每2,这会引发错误a.date

答案 1 :(得分:1)

用于理解coffeescript的有用工具是JS2Coffee,它将在Coffeescript和JavaScript之间来回转换代码。然后你可以看出你所写的是你所写的是什么。

您的代码有两个问题:

  1. bind将上下文(它将用作this)作为其第一个参数。当调用新函数时,后续参数将形成绑定函数的参数列表。
  2. 调用没有参数的函数需要CS中的括号