你想在一個函數(shù)中調(diào)用相同的函數(shù)。
使用一個命名函數(shù):
ping = ->
console.log "Pinged"
setTimeout ping, 1000
若為未命名函數(shù),則使用 @arguments.callee@:
delay = 1000
setTimeout((->
console.log "Pinged"
setTimeout arguments.callee, delay
), delay)
雖然 arguments.callee 允許未命名函數(shù)的遞歸,在內(nèi)存密集型應用中占有一定優(yōu)勢,但是命名函數(shù)相對來說目的更加明確,也更易于代碼的維護。