JSRUN 用代码说话

递归函数

编辑教程

递归函数

问题

在一个函数中调用相同的函数。

解决方案

使用一个命名函数:

ping = ->
    console.log "Pinged"
    setTimeout ping, 1000

若为未命名函数,则使用@arguments.callee@:

delay = 1000

setTimeout((->
    console.log "Pinged"
    setTimeout arguments.callee, delay
    ), delay)

讨论

虽然arguments.callee允许未命名函数的递归,在内存密集型应用中占有一定优势,但命名函数相对来说目的更加明确,也更易于代码的维护。

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟