CoffeeScript 递归函数

递归函数

问题

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

解决方案

使用一个命名函数:

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

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

delay = 1000

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

讨论

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

作者:冒牌SEO,如若转载,请注明出处:https://www.web176.com/coffeescript/10642.html

(0)
打赏 支付宝 支付宝 微信 微信
冒牌SEO冒牌SEO
上一篇 2023年2月26日
下一篇 2023年2月26日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注