Javascript函数中的arguments.callee用法实例分析


Posted in Javascript onSeptember 16, 2016

本文实例讲述了Javascript函数中的arguments.callee用法。分享给大话公大家参考,具体如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title></title>
  <script type="text/javascript">
    //方法1,这种方法当函数名fac指向新的函数后,就不能实现递归阶乘了
//    function fac(num) {
//      if (num <= 1) {
//        return 1;
//      }
//      else {
//        return num * fac(num - 1);
//      }
    //方法2
    function fac(num) {
      if (num <= 1) {
        return 1;
      }
      else {
        return num * arguments.callee(num - 1);  //arguments.callee表示当前方法的引用
      }
    }
    window.onload = function () {
      var func = fac;
      fac = function () {  //指向新的函数
        return 1;
      }
      alert(func(5));  //使用方法一将输出5,使用方法二将输出5的阶乘值
      alert(fac(5));   //输出1
    }
  </script>
</head>
<body>
</body>
</html>

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
Javascript实例教程(19) 使用HoTMetal(2)
Dec 23 Javascript
用Div仿showModalDialog模式菜单的效果的代码
Mar 05 Javascript
jquery中this的使用说明
Sep 06 Javascript
js判断是否按下了Shift键的方法
Jan 27 Javascript
javascript简单比较日期大小的方法
Jan 05 Javascript
JavaScript实现简单的日历效果
Sep 25 Javascript
javascript动画之模拟拖拽效果篇
Sep 26 Javascript
web 屏蔽BackSpace键实例代码
Dec 24 Javascript
Angular 2父子组件数据传递之@ViewChild获取子组件详解
Jul 04 Javascript
20170918 前端开发周报之JS前端开发必看
Sep 18 Javascript
小试SVG之新手小白入门教程
Jan 08 Javascript
JS实现根据详细地址获取经纬度功能示例
Apr 16 Javascript
AngularJs 动态加载模块和依赖
Sep 15 #Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
Sep 15 #Javascript
基于JS+Canves实现点击按钮水波纹效果
Sep 15 #Javascript
js点击按钮实现水波纹效果代码(CSS3和Canves)
Sep 15 #Javascript
Node.js connect ECONNREFUSED错误解决办法
Sep 15 #Javascript
Bootstrap精简教程中秋大放送
Sep 15 #Javascript
AngularJS 指令的交互详解及实例代码
Sep 14 #Javascript
You might like
php 删除cookie和浏览器重定向
2009/03/16 PHP
php xml文件操作代码(一)
2009/03/20 PHP
php 静态变量与自定义常量的使用方法
2010/01/26 PHP
php实现的DateDiff和DateAdd时间函数代码分享
2014/08/16 PHP
PHP+MYSQL实现用户的增删改查
2015/03/24 PHP
PHP扩展框架之Yaf框架的安装与使用
2016/05/18 PHP
详解PHP编码转换函数应用技巧
2016/10/22 PHP
PHP获取php,mysql,apche的版本信息及更多服务器信息
2021/03/09 PHP
简单的无缝滚动程序-仅几行代码
2007/05/08 Javascript
javascript 面向对象编程 聊聊对象的事
2009/09/17 Javascript
Js setInterval与setTimeout(定时执行与循环执行)的代码(可以传入参数)
2010/06/11 Javascript
js Html结构转字符串形式显示代码
2011/11/15 Javascript
javascript级联下拉列表实例代码(自写)
2013/05/10 Javascript
YUI模块开发原理详解
2013/11/18 Javascript
jQuery插件Validation快速完成表单验证的方式
2016/07/28 Javascript
knockoutjs动态加载外部的file作为component中的template数据源的实现方法
2016/09/01 Javascript
Bootstrap面板使用方法
2017/01/16 Javascript
jQuery中 bind的用法简单介绍
2017/02/13 Javascript
vue.js组件之间传递数据的方法
2017/07/10 Javascript
jQuery实现仿京东防抖动菜单效果示例
2018/07/06 jQuery
利用Node.js批量抓取高清妹子图片实例教程
2018/08/02 Javascript
JS面试题大坑之隐式类型转换实例代码
2018/10/14 Javascript
轻松学习JavaScript函数中的 Rest 参数
2019/05/30 Javascript
Vue 数组和对象更新,但是页面没有刷新的解决方式
2019/11/09 Javascript
[01:54]TI4西雅图DOTA2选手欢迎晚宴 现场报道
2014/07/08 DOTA
零基础写python爬虫之使用urllib2组件抓取网页内容
2014/11/04 Python
Python shelve模块实现解析
2019/08/28 Python
Python 元组操作总结
2019/09/18 Python
为什么说python更适合树莓派编程
2020/07/20 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
Under Armour瑞典官方网站:美国高端运动科技品牌
2018/11/21 全球购物
一组SQL面试题
2016/02/15 面试题
播音主持专业个人自我评价
2014/01/09 职场文书
个人股份转让协议书范本
2015/01/28 职场文书
2015年学校安全管理工作总结
2015/05/11 职场文书
go语言中fallthrough的用法说明
2021/05/06 Golang