我刚刚读完了 Coffeescript上的小书,我正试图理解语言。我正试图弄清楚如何做一个普通的香草绑定。这是我的代码:
times = (a = 1, b = 2) -> a*b
h = alert.bind times 8, 9
h
这不会产生任何错误,但它也不会运行任何警报。我究竟做错了什么?
答案 0 :(得分:2)
h
。您需要致电h()
。var h = alert.bind(times(8, 9))
,表示您正在尝试创建alert
this
72
Uncaught TypeError: Illegal invocation
的版本。 ???你不能这样做。a.date
。答案 1 :(得分:1)
用于理解coffeescript的有用工具是JS2Coffee,它将在Coffeescript和JavaScript之间来回转换代码。然后你可以看出你所写的是你所写的是什么。
您的代码有两个问题:
bind
将上下文(它将用作this
)作为其第一个参数。当调用新函数时,后续参数将形成绑定函数的参数列表。