A JavaScript Fancier

伟大的javascript技术研究中...

  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  304 随笔 :: 0 文章 :: 360 评论 :: 0 Trackbacks


实现递归的算法大家都是很熟悉的,比如一个求0到n的和的递归函数如下:
var fn=function(n){
        
if(n>0return n+fn(n-1);
        
return 0;
    }
    alert(fn(
10))
当然这是一个很简单的函数,如果在一个很复杂的程序中我们可能只需要调用一次该函数,为了函数的精简我们当然要努力较少函数名的定义,这是很自然会想到用匿名函数来直接执行。但是如果是匿名函数如何实现递归?arguments.callee正好派上用场,他指代的就是当前执行的函数的引用。

利用匿名函数实现的递归如下:
var s=(function(n){
        
if(n>0return n+arguments.callee(n-1);
        
return 0;
    })(
10);
    alert(s)
一点小总结,主要是对匿名函数及arguments.calle的一些应用,例子举的不是很恰当,但这些知识在开发中还是有用的,总计起来增强一下自己的记忆。

<

posted on 2008-07-10 10:13 Yemoo'S JS Blog 阅读(1340) 评论(0)  编辑 收藏 引用 所属分类: javascript技巧总结

每天10分钟,轻松学英语
专题:iPad  jQuery  Chrome OS
博客园首页  IT新闻  程序员微博  招聘频道  学英语
标题  
姓名  
主页
验证码 *
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)
 
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
[使用Ctrl+Enter键可以直接提交]
Windows 7专题

相关链接: