在javascript中你會寫是這樣的:coffeescript中的apply(this,arguments)等價於什麼?
method.apply(this,arguments);
但是,你怎麼翻譯它的CoffeeScript?:
method.apply(@, arguments)
是否有可變的參數不同的名稱?
在javascript中你會寫是這樣的:coffeescript中的apply(this,arguments)等價於什麼?
method.apply(this,arguments);
但是,你怎麼翻譯它的CoffeeScript?:
method.apply(@, arguments)
是否有可變的參數不同的名稱?
arguments
是在咖啡腳本中可用了。所以,你可以這樣做:
method.apply @, arguments
如果你想讓它像JavaScript一樣工作,你可能可以,但coffeescript已經「splats」你可能試圖完成。下面是從coffeescript.org的解釋:
gold = silver = rest = "unknown"
awardMedals = (first, second, others...) ->
gold = first
silver = second
rest = others
contenders = [
"Michael Phelps"
"Liu Xiang"
"Yao Ming"
"Allyson Felix"
"Shawn Johnson"
"Roman Sebrle"
"Guo Jingjing"
"Tyson Gay"
"Asafa Powell"
"Usain Bolt"
]
awardMedals contenders...
alert "Gold: " + gold
alert "Silver: " + silver
alert "The Field: " + rest
使用提示圖標,你可以使用吸塵器CoffeeScript的語法:
caller: ->
@method arguments...
以上編譯爲以下JavaScript:
caller: function() {
return this.method.apply(this, arguments);
}
這是一些不錯的咖啡! –
以下是Spats的文檔:http://coffeescript.org/#splats – Hengjie
我不明白這是如何回答他的問題的? –
它實際上,我發現了一分鐘前相同的報價 –
申請的目標是運行一個特定對象上的函數(自己設置'this'),我不明白這是怎麼做的例子中,你會介意解釋? –