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中递归函数用法注意点,希望对大家有所帮助。
相关推荐
-
详解Javascript函数声明与递归调用
Javascript的函数的声明方式和调用方式已经是令人厌倦的老生常谈了,但有些东西就是这样的,你来说一遍然后我再说一遍.每次看到书上或博客里写的Javascript函数有四种调用方式,我就会想起孔乙己:茴字有四种写法,你造吗? 尽管缺陷有一堆,但Javascript还是令人着迷的.Javascript众多优美的特性的核心,是作为顶级对象(first-class objects)的函数.函数就像其他普通对象一样被创建.被分配给变量.作为参数被传递.作为返回值以及持有属性和方法.函数作为顶级对象,
-
js中递归函数的使用介绍
下面我们就做一个10以内的阶乘试试看吧: js中递归函数的使用 function f(num){ if(num alert("10!的结果为:"+f(10)); [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 递归函数的调用就说这么多了 js递归函数调用自身时的保险方式. 来自js高级程序设计 一个典型阶乘递归函数: 复制代码 代码如下: function fact(num){ if (num<=1){ return 1; }else{ return num*fact
-
JS中递归函数
编程语言中,函数Func(Type a,--)直接或间接调用函数本身,则该函数称为递归函数.递归函数不能定义为内联函数. 递归函数: function factorical(num){ if(num<=1){ return 1; } else{ return num*factorical(num-1); } } factorial(2)//2 这个递归函数就是用函数来调用函数本身,但是这样真的好吗,好 接下来看这里 var another=factorical; factorical=null;
-
JavaScript支持的最大递归调用次数分析
你对JavaScript引擎能进行多少次递归调用好奇吗? 多少次递归调用 下面的函数可以让你找到答案: (灵感来自Ben Alman的 gist) 复制代码 代码如下: function computeMaxCallStackSize() { try { return 1 + computeMaxCallStackSize(); } catch (e) { // Call stack overflow return 1; }
-
深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
函数表达式 1.JavaScript中定义函数有2钟方法: 1-1.函数声明: 复制代码 代码如下: function funcName(arg1,arg2,arg3){ //函数体} ①name属性:可读取函数名.非标准,浏览器支持:FF.Chrome.safari.Opera. ②函数声明提升:指执行代码之前会先读取函数声明.即函数调用可置于函数声明之前. 1-2.函数表达式: 复制代码 代码如下: var funcName = function(arg1,arg2,arg3){ //函
-
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.c
-
javascript中attachEvent用法实例分析
本文实例讲述了javascript中attachEvent用法.分享给大家供大家参考.具体分析如下: 一般我们在JS中添加事件,是这样子的 obj.onclick=method 这种绑定事件的方式,兼容主流浏览器,但如果一个元素上添加多次同一事件呢? obj.onclick=method1 obj.onclick=method2 obj.onclick=method3 如果这样写,那么只有最后绑定的事件,这里是method3会被执行,这个时候我们就不能用onclick这样的写法了,主角改登场了,
-
javascript中this用法实例详解
本文实例讲述了javascript中this用法.分享给大家供大家参考,具体如下: JavaScript中的this含义非常丰富,它可以是全局对象,当前对象或者是任意对象,这都取决于函数的调用方式.函数有以下几种调用方式:作为对象方法调用.作为函数调用.作为构造函数调用.apply或call调用. 对象方法调用 作为对象方法调用的时候,this会被绑定到该对象. var point = { x : 0, y : 0, moveTo : function(x, y) { this.x = this
-
Javascript中Array用法实例分析
本文实例讲述了Javascript中Array用法.分享给大家供大家参考.具体分析如下: JavaScript中的Array对象就是数组,首先是一个动态数组,而且是一个像C#.Java中"数组.List.HashMap/Dictionary"等的超强综合体. Array数组 使用方式: 例1: var citys = new Array(); //创建数组对象,无需初始化长度,动态 citys[0] = '上海'; citys[1] ='北京'; citys[2] = '深圳'; fo
-
5分钟理解JavaScript中this用法分享
前言关于JavaScript中this的用法网络中已经有较多比较详尽的介绍,可以参考本文的参考学习资料和网络.本文结合网络收集整理,尝试以一种简易的方式阐述JavaScript中this的用法,希望对大家关于JavaScript中this用法的快速理解有所帮助.正文1. this用法实例 复制代码 代码如下: window.color = "red"; var o = { color: "blue" }; function sayColor(){ alert
-
JavaScript中return用法示例
本文实例讲述了JavaScript中return用法.分享给大家供大家参考,具体如下: return可以接受函数中的返回值,前提是函数中要有return语句. 下面是一个应用小示例: <html> <head> <script type='text/javascript'> function linkPage(){ alert('You Clicked??'); return false; } </script> </head> <body
-
javascript中AJAX用法实例分析
本文实例讲述了javascript中AJAX用法.分享给大家供大家参考.具体分析如下: 兼容地获得XMLHttpRequest对象: var xhr = null; if(window.XMLHttpRequest){ //非IE浏览器 xhr = window.XMLHttpRequest; }else if(window.ActiveXObject){ //IE浏览器 try{ //高版本,受msxml3.dll+支持 xhr = new ActiveXObject("Msxml2.XMLH
-
Javascript中arguments用法实例分析
本文实例讲述了Javascript中arguments用法.分享给大家供大家参考.具体分析如下: 先来看如下示例: function add(n1,n2){ return n1+n2; } function add(n1,n2,n3) { return n1+n2+n3; } alert(add(1,2)); //NaN,js中调用方法采用就近原则: //而由于该方法没有传入n3,所以结果是NaN js中没有方法重载,怎么解决上面这个问题? //arguments function f1(){
-
Javascript中innerHTML用法实例分析
本文实例讲述了Javascript中innerHTML用法.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: <html> <head> <script type="text/javascript"> function t(){ var cont = document.getElementById('container'); var htmlcode = "<p>哈哈哈哈</p>";
-
深入浅出分析javaScript中this用法
本文实例讲述了javaScript中this用法.分享给大家供大家参考.具体分析如下: 之前学javascript的时候总搞不清this,这个this不像java里的this那么好理解.我后来也是看了许多别人写的文章,才理解过来的.现在把别人写的东西搬过来,怕以后忘记. 总得来说 this的指向分三种.指向全局window,该对象,构造函数. 结论:在Javascript中,this指向函数执行时的当前对象. 简单点说就是调用的方法属于哪个对象,this就指向那个对象. 1. 全局window
随机推荐
- 解决Linux程序编译链接动态库版本的相关问题
- jquery div提示框渐隐弹出与隐藏效果
- java客户端登陆服务器用户名验证
- IOS 指纹识别详解及实例代码
- python字符串排序方法
- javascript实现复选框超过限制即弹出警告框的方法
- ASP.NET 页面事件执行顺序介绍
- PHP面向对象之事务脚本模式(详解)
- php session处理的定制
- JavaScript使用Replace进行字符串替换的方法
- Ubuntu中搭建Nodejs开发环境过程分享
- ThinkPHP中I(),U(),$this->post()等函数用法
- 九十个少为人知的小知识
- js css自定义分页效果
- 详解linux grep命令
- Android开发之底图局部加载移动的方法示例
- 浅析C++的引用与const指针与各种传递方式
- Android开发实现TextView显示丰富的文本
- 解析php中memcache的应用
- Android实现轻量线性与百分比图表的方法