js代码:
function() {
alert(1);
}.bind(this);
如何在coffee脚本版本中编写此代码?我试过了:
->
alert 1
.bind this
但它报告了一个错误:出乎意料。我也试过:
(->
alert 1
).bind this
但编译后的js代码不是我想要的:
(function() {
(function() {
return alert(1);
}).bind(this);
}).call(this);
如何解决这个问题?非常感谢
函数链接在coffeescript上有着悠久的历史。。。看见https://github.com/jashkenas/coffeescript/issues/1495
在您的情况下,在执行bind
时,可能会使用coffeescript胖箭头。。。所以你的功能变成了:
=>
alert 1
这将把函数绑定到当前上下文。
在任何其他情况下,函数链接都可以使用类似的语法来完成
foo.test()
.next()
.last()
将编译为
foo.test().next().last();
据我所知,只使用匿名函数进行链接在语法上是不可能的。