本文整理自网络,侵删。
递归函数
问题
你想在一个函数中调用相同的函数。
解决方案
使用一个命名函数:
ping = ->
console.log "Pinged"
setTimeout ping, 1000
若为未命名函数,则使用@arguments.callee@:
delay = 1000
setTimeout((->
console.log "Pinged"
setTimeout arguments.callee, delay
), delay)
讨论
虽然arguments.callee允许未命名函数的递归,在内存密集型应用中占有一定优势,但是命名函数相对来说目的更加明确,也更易于代码的维护。
标签:CoffeeScript
相关阅读 >>
CoffeeScript coffeescrip 的 type 函数
更多相关阅读请进入《CoffeeScript》频道 >>
Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者