Coffeescript 如何在coffee脚本中的大括号结束后创建一个函数来调用某个方法?
js代码:Coffeescript 如何在coffee脚本中的大括号结束后创建一个函数来调用某个方法?,coffeescript,Coffeescript,js代码: function() { alert(1); }.bind(this); 如何在coffee脚本版本中编写此代码? 我试过: 但它报告了一个错误:出乎意料。 我还尝试: (-> alert 1 ).bind this 但编译的js代码不是我想要的: (function() { (function() { return alert(1); }).bind(this); }).call(this); 如何解决这个问题?非常感谢
function() {
alert(1);
}.bind(this);
如何在coffee脚本版本中编写此代码?
我试过:
但它报告了一个错误:出乎意料。
我还尝试:
(->
alert 1
).bind this
但编译的js代码不是我想要的:
(function() {
(function() {
return alert(1);
}).bind(this);
}).call(this);
如何解决这个问题?非常感谢函数链接在coffeescript上有着悠久的历史。。。 看 在您的情况下,在执行
绑定时
,可能会使用coffeescript胖箭头来代替。。。因此,您的函数变成:
=>
alert 1
它将函数绑定到当前上下文
在任何其他情况下,函数链接都可以使用如下语法完成
foo.test()
.next()
.last()
将编译为
foo.test().next().last();
据我所知,仅使用匿名函数进行链接在语法上是不可能的。外部
(function(){…})。调用(this)
是CoffeeScript用于处理所有内容的工具(除非您使用-b
进行编译),所以请忽略它。这就给你留下了你想要的东西。(>).bind this
工作得很好,并且产生了他们想要的东西。是的,如果我想将this
绑定到函数,胖箭头确实可以解决问题,但是如果我想绑定另一个对象呢?在这种情况下,fat箭头可能不适用。但是如果(>).bind
能够生效,那么我想试试这种方法。谢谢大家:)
foo.test().next().last();