JavaScript中递归函数用法需要注意的

<script>

function sum(num){

if(num<=1){
return 1;
}else{
return num*sum(num-1);//return num*arguments.callee(num-1); //指针
//return 2;
}
}
var sum1=sum;

alert(sum1(2));
</script>

上面的代码 在执行时很容易出现问题,执行我们介绍一个方法,arguments.callee,是一个指向正在执行的函数的指针,使用指针代替函数名使得执行以上代码时不容易出错!

参考资料:javascript高级程序语言3版 7.1递归

时间: 2024-10-18 03:44:33

JavaScript中递归函数用法需要注意的的相关文章

javascript中createTextRange用法(focus)

createtextrange createrange区别: 对象或元素不同,虽然都是返回TextRange.例如:     var r=document.body.createTextRange()    var r=document.createRange() document. createTextRange 可以对body.TEXTAREA.BUTTON创建TextRange,Range -- 范围 返回createTextRange的text和htmlText Js代码 <script

JavaScript 中 this用法详解

1.JavaScript中,执行代码必须放入函数中,如果没有显示写入函数中,则代码会自动被放入window的某个成员函数中:2.JavaScript的函数都是成员函数,一定属于某个对象,如果没有显示指定此对象,那么这个函数就属于window对象:3. JavaScript函数的执行方式有三种,一是作为成员函数来调用,此时函数体内的this指向函数所属对象:二是作为构造函数来调用,此时函数体内的 this指向通过此构造函数新创建的对象:三是通过apply或call调用,此时函数体内的this是被参

javascript中in用法介绍

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script type="text/javascript"> // for-in 一般用来遍历对象, 也可以用来遍历数组 // var

javascript中 &quot;||&quot;, &quot;&amp;&amp;&quot; 特殊用法

javscript中"||","&&"的特殊用法,在恰当的地方使用可以使代码简洁美观, ----------------------------------------------------- a = 6 ; a>=5 && alert('ok') ; ------------------------------------------------------ a = 6 ; alert( a >= 5 &&am

javascript中attachEvent事件 跟 addEventListener 事件

拷贝自 http://www.jb51.net/article/66111.htm 本文实例讲述了javascript中attachEvent用法.分享给大家供大家参考.具体分析如下: 一般我们在JS中添加事件,是这样子的 obj.onclick=method 这种绑定事件的方式,兼容主流浏览器,但如果一个元素上添加多次同一事件呢? ? 1 2 3 obj.onclick=method1 obj.onclick=method2 obj.onclick=method3 如果这样写,那么只有最后绑定

JavaScript中常见的字符串操作函数及用法汇总

1.字符串转换 字符串转换是最基础的要求和工作,你可以将任何类型的数据都转换为字符串,你可以用下面三种方法的任何一种: ? 1 2 var num= 19; // 19 var myStr = num.toString(); // "19" 你同样可以这么做: ? 1 2 var num= 19; // 19 var myStr = String(num); // "19" 或者,再简单点儿: ? 1 2 var num= 19; // 19 var myStr =

Javascript 中的回调函数和递归函数简单实际分析学习

Javascript 中的回调函数和递归函数简单实际分析学习 1 回调函数 所谓回调函数简单理解就是将一个函数做为参数传递给其他的函数供其使用.(只是在js中,因为其它的语言中有指针这个概念). 举一个简单的例子,当我们在统计账单的时候就要整理材料这些,然后就需要计算器,计算器我们想象成为一个可以实现计算的函数.统计账单是另外的另一个函数,当统计账单的时候就会需要计算器这个函数的支持,其实这就是一个简单的回调.可以按这个理解. 下来我借用网上的一个例子: //先定义一个函数fun1 functi

关于JavaScript中apply与call的用法意义及区别(转)

JavaScript中有一个call和apply方法,其作用基本相同,但也有略微的区别.先来看看JS手册中对call的解释: call 方法调用一个对象的一个方法,以另一个对象替换当前对象.call([thisObj[,arg1[, arg2[,   [,.argN]]]]])参数thisObj可选项.将被用作当前对象的对象.arg1, arg2,  , argN可选项.将被传递方法参数序列.说明call 方法可以用来代替另一个对象调用一个方法.call 方法可将一个函数的对象上下文从初始的上下

JavaScript中字符串分割函数split用法实例

这篇文章主要介绍了JavaScript中字符串分割函数split用法,实例分析了javascript中split函数操作字符串的技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了JavaScript中字符串分割函数split用法.分享给大家供大家参考.具体如下: 先来看下面这段代码: <script type="text/javascript"> var str="How are you doing today?" document.write