A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Dreamcomesture 初级黑马   /  2016-6-15 15:11  /  1452 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

当利用js函数编写某个数的阶乘时,不清楚函数或者刚了解函数的人会不知道怎样利用函数高效简洁的编写解决方案,下面以5!(1*2*3*4*5)为例.

鄙人的解决方案利用函数递归:

function recursion{
     if( n==0 )
        return 1;
     return ( n * recursion( n-1 ) );
}

var num =  recursion( 5 );

//输出的结果为120

/*以上我们可以看出利用递归可以很快解决这类问题,但是凡事都有两面性,由于频繁的调用函数,会在性能上有很大开销,但是像这类小参数还不足以对当今强大的计算机系统构成威胁,只是再次提醒递归调用带来了方便的同时,也牺牲了性能的优势*/

2 个回复

倒序浏览
不错哟,{:2_35:}

点评

哈哈哈!!  发表于 2016-6-18 14:44
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马