javascript - CoffeeScript 中的 function.call

标签 javascript function coffeescript

将以下 JavaScript 编写为 CoffeeScript 的最短方法是什么?

var obj = {};

(function(){
  this.foo = "bar";
}).call(obj);

我可以做到这一点:

obj = {}

(->
  @foo = "bar"
).call obj

但是有没有办法去掉函数定义周围的括号呢?这几乎可以工作:

do =>
  @foo = "bar"

...除了粗箭头运算符“=>”自动将函数绑定(bind)到“this”的当前值。使用粗箭头时有没有办法指定替代的“this”值?

最佳答案

您无法去掉括号,但可以将该函数写在一行中。

(-> @foo = 'bar').call obj

关于javascript - CoffeeScript 中的 function.call,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7130621/

相关文章:

javascript - Web Audio API 中 AudioWorkerNode 的状态

javascript - Angular Directive(指令) - 动态 Controller

javascript - 在运行时更新常见的 AngularJS HTTP header

c - 为什么我的用户定义函数重复两次?

javascript - Node.js JSON.parse 关于对象创建与使用 getter 属性

node.js - 不能要求本地 CoffeeScript 模块

javascript - 用 javascript 替换 ÅÄÖ(大写和小写)

javascript - react Redux : Posting Records partly work with onclick function

c++ - 将数组传递给没有函数的函数,因此无论如何它都不会更改原始数组

带有内置函数的 Python inspect.getargspec