2013-04-09 51 views
2

如何在CoffeeScript中的函數定義之後鏈接函數調用?函數定義後的鏈函數調用

等效的JavaScript將是:

var foo = function() { 
    // stuff 
}.bar() 

我設法做到這一點的唯一方法是:

foo = `function() { 
    // stuff 
}.bar()` 

但我希望有一個更好的解決方案比我的(美麗)的CoffeeScript代碼中嵌入的JavaScript

+0

我想知道爲什麼函數本身將有一個'bar'屬性。它應該是一個IIFE嗎?你在其他地方調整過原型嗎? – 2013-04-09 06:01:53

+0

@ waleed-khan其實我正在定義一個[Ember.JS](http://emberjs.com/)計算屬性,它是使用以下內容定義的:'fooBar:function(){} .property()'' Ember.Object.extend' – eddloschi 2013-04-09 06:10:01

回答

4

嘗試這樣的:

foo = (-> stuff).bar() 

例如:

square = ((x)-> x*x).bar() 

編譯成:

var square; 
square = (function(x) { 
    return x * x; 
}).bar(); 
+0

我很專注於在''''之後放置'.bar()',我從來沒有試過使用圓括號。非常感謝你! – eddloschi 2013-04-09 06:02:20

+0

很高興幫助。 – elclanrs 2013-04-09 06:05:47