惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The Cloudflare Blog
U
Unit 42
D
Docker
Hugging Face - Blog
Hugging Face - Blog
博客园 - 聂微东
Recent Announcements
Recent Announcements
GbyAI
GbyAI
T
The Blog of Author Tim Ferriss
Last Week in AI
Last Week in AI
V
Visual Studio Blog
I
InfoQ
Google DeepMind News
Google DeepMind News
小众软件
小众软件
L
LangChain Blog
C
Check Point Blog
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 【当耐特】
J
Java Code Geeks
罗磊的独立博客

博客园 - luoluo

各地电信运营商插广告赚钱,北京联通也不甘落后 幻影t-shirt 2010 新年 每天都是GDP CorelDraw工具自动切换到选择工具的问题 要淡定 flash 0day的临时防御 Still Believe 也谈Server Limit DOS的解决方案 发现一篇关于flash垃圾回收机制的文章 开春第一趟单骑上妙峰 杭州归来 IE window对象跨域的一些特性 firebug也支持debugger关键字了 网上流行的JS HTMLDecode不安全 把JS函数转URL形式 看到的一点进步 北京春雪 记忆力衰退
实现JavaScript匿名透明递归
luoluo · 2009-04-20 · via 博客园 - luoluo

什么是匿名透明递归,就是递归调用的时候不需要知道函数名,也不需要理解参数。用到的知识点:

1、arguments对象的callee属性,取得当前函数对象,实现函数匿名引用

2、Function对象的apply方法,调用一个方法,并传入this指针和arguments对象,这样就实现参数透明传递

<script type="text/javascript">
<!--
(
function(s, n, o) {
    alert(n);
if (n < 5) {
        n 
++;
        arguments.callee.apply(
this, arguments);
    }
})(
"test"0, {a : 1});
//-->
</script>