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 相关文章推荐
写js时遇到的一些小问题
Dec 06 Javascript
幻灯片带网页设计中的20个奇妙应用示例小结
May 27 Javascript
jQuery中prop()方法用法实例
Jan 05 Javascript
jQuery实现contains方法不区分大小写的方法
Feb 13 Javascript
纯JS前端实现分页代码
Jun 21 Javascript
javascript与jquery动态创建html元素示例
Jul 25 Javascript
利用select实现年月日三级联动的日期选择效果【推荐】
Dec 13 Javascript
Jquery Easyui搜索框组件SearchBox使用详解(19)
Dec 17 Javascript
vue子组件使用自定义事件向父组件传递数据
May 27 Javascript
weui框架实现上传、预览和删除图片功能代码
Aug 24 Javascript
用js实现before和after伪类的样式修改的示例代码
Sep 07 Javascript
微信小程序之几种常见的弹框提示信息实现详解
Jul 11 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
让你的网站首页自动选择语言转跳
2006/12/06 PHP
在PHP中操作Excel实例代码
2010/04/29 PHP
PHP中array_map与array_column之间的关系分析
2014/08/19 PHP
PHP比你想象的好得多
2014/11/27 PHP
php微信分享到朋友圈、QQ、朋友、微博
2019/02/18 PHP
High Performance JavaScript(高性能JavaScript)读书笔记分析
2011/05/05 Javascript
js实现addClass,removeClass,hasClass的函数代码
2011/07/13 Javascript
js操作iframe的一些方法介绍
2013/06/25 Javascript
NodeJS制作爬虫全过程(续)
2014/12/22 NodeJs
jQuery根据元素值删除数组元素的方法
2015/06/24 Javascript
纯js代码实现未知宽高的元素在指定元素中垂直水平居中显示
2015/09/12 Javascript
JavaScript中关于iframe滚动条的去除和保留
2016/11/17 Javascript
Bootstrap基本组件学习笔记之分页(12)
2016/12/08 Javascript
nodejs入门教程二:创建一个简单应用示例
2017/04/24 NodeJs
ComboBox(下拉列表框)通过url加载调用远程数据的方法
2017/08/06 Javascript
js使用html2canvas实现屏幕截取的示例代码
2017/08/28 Javascript
JavaScript中使用import 和require打包后实现原理分析
2018/03/07 Javascript
node实现的爬虫功能示例
2018/05/04 Javascript
vue组件创建的三种方式小结
2020/02/03 Javascript
TensorFlow打印tensor值的实现方法
2018/07/27 Python
Python模块的加载讲解
2019/01/15 Python
opencv3/Python 稠密光流calcOpticalFlowFarneback详解
2019/12/11 Python
纯CSS3实现Material Design效果
2017/03/09 HTML / CSS
戴尔荷兰官方网站:Dell荷兰
2020/10/04 全球购物
电子商务网站的创业计划书
2014/01/05 职场文书
爱国演讲稿400字
2014/05/07 职场文书
小学三好学生事迹材料
2014/08/15 职场文书
党的群众路线教育实践活动党员个人剖析材料
2014/10/08 职场文书
授权收款委托书范本
2014/10/10 职场文书
售后前台接待岗位职责
2015/04/03 职场文书
优秀学生主要事迹怎么写
2015/11/04 职场文书
数据结构课程设计心得体会
2016/01/15 职场文书
springboot 多数据源配置不生效遇到的坑及解决
2021/11/17 Java/Android
vue实现列表垂直无缝滚动
2022/04/08 Vue.js
详解Redis的三种常用的缓存读写策略步骤
2022/05/06 Redis
Redis 异步机制
2022/05/15 Redis