前端之家收集整理的这篇文章主要介绍了
JavaScript递归操作实例浅析,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_301_0@本文实例分析了JavaScript递归操作。分享给大家供大家参考,具体如下:
@H_
3010@问题
@H301_0@一个简单的递归,求n的阶乘:
<div class="jb51code">
<pre class="brush:js;">
function factorial(n){
if (n<=1)
{
return 1;
}else{
return factorial(n-1)*n;
}
}
@H_
502_9@
@H_
301_0@如果像下面这样使用它,则会出错:
@H_
502_9@
@H_
301_0@因为fcopy指向的
函数实体
调用了factorial,而factorial已经被释放。
@H_
301_0@
@H_
301_0@
@H_301_0@执行流进入函数时会创建函数的运行环境(作用域链等),包括 arguments 这个特殊对象,arguments对象有个属性指向函数本身:arguments.callee 。
@H_
502_9@
@H_
301_0@不过callee在严格模式下不可用。
@H_
301_0@
函数表达式
@H_
502_9@
@H_
301_0@这并非使用了什么新的技术,只是在原来概念上的一种应用,在定义 factorial 时,直接创建一个
函数,再将此
函数的引用赋值给factorial。
@H_
301_0@更多关于JavaScript相关
内容感兴趣的读者可查看本站专题:《
》、《》、《》、《》、《》、《》、《》及《》
@H_301_0@希望本文所述对大家JavaScript程序设计有所帮助。
原文链接:https://www.f2er.com/js/44754.html