js学习(17)----callee和caller
来源:互联网 发布:程序员入门书籍 编辑:程序博客网 时间:2024/06/06 00:56
1.arguments和callee
arguments是函数内部的一个特殊的类数组对象,arguments有个名叫callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数。
举个例子:
// 这是我们熟悉的裴波那契数列<script type="text/javascript"> function fib(num) { if (num <= 2) { return 1; } else { return fib(num - 1) + fib(num - 2); } } // 1, 1, 2, 3, 5 alert(fib(5));</script>
可以使用arguments的callee属性来避免多次使用函数名称
<script type="text/javascript"> function fib(num) { if (num <= 2) { return 1; } else { return arguments.callee(num - 1) + arguments.callee(num - 2); } } // 1, 1, 2, 3, 5 alert(fib(6));</script>
2.caller
caller属性保存着调用当前函数的函数的引用,如果是在全局作用域中调用当前函数,则它的值为null。
<script type="text/javascript"> function outer() { inner(); } function inner() { //alert(inner.caller); // 下面这种表示同时使用了callee和caller alert(arguments.callee.caller); } outer();</script>
运行这部分代码会弹出警告框,并且警告框中的内容是整个outer函数,因为outer函数调用了inner函数,所以outer是inner的caller
阅读全文
0 0
- js学习(17)----callee和caller
- JS Function.caller 和 arguments.callee学习
- js的caller和callee
- js callee和caller区别
- js中的caller和callee
- js中的caller和callee
- js arguments和caller,callee
- js中的callee和caller
- js中的caller和callee属性
- js中的caller和callee属性
- js中的caller和callee属性
- JS中的caller和callee属性
- js中的caller和callee属性
- js caller 和callee的区别
- js中caller和callee的区别
- js caller和callee的详细介绍
- js中caller和callee属性详解
- js中caller,callee
- 微信刷卡支付开发-公众号支付开发-视频教程8
- 微信支付查询订单-公众号支付开发-视频教程9
- 第4篇 思想道德修养与法律基础(一)
- EL表达式 (详解)
- java Object类型的参数
- js学习(17)----callee和caller
- 轮播+列表的布局
- servlet与spring配置心得
- fragment ,轮播 实现
- [BZOJ2816][ZJOI2012]网络(LCT)
- 一些优秀的网站(持续更新)
- 文件链接命令
- 【STL】容器 > 顺序容器 > string 容器
- python 面向对象 关于init方法和del方法