javascript中callee与caller的区别
callee
callee是对象的一个属性,该属性是一个指针,指向参数arguments对象的函数
首先我们来写个阶成函数:
function chen(x){if (x<=1) {return 1;} else{return x*chen(x-1);};};
从这个函数中可以看出来,用到了递归函数,要是改变了函数名,里面的.函数名也要随着改变,这样很不方便所以我们用callee来试试
function chen(x){if (x<=1) {return 1;}else{return x*ee(x-1);};};
我们来分析一下为什么这样写:根据callee的定义,可以看出来callee是arguments对象的一个属性,指向arguments对象的函数,这个函数就是chen(chen=ee),这样解释应该可以理解了吧。
caller
caller是函数对象的一个属性,该属性保存着调用当前函数的函数的引用(指向当前函数的直接父函数)
先来个例子吧
function a(){b();};function b(){alert(er);};a(); //结果就是弹出函数a和内容
我们来解释一下吧,首先函数b的属性caller调用当前函数b的函数引用a(就是指向当前函数b的父函数a),所以结果就是弹出 function a(){ b();};
那么了解了caller和callee,那么可以不可以将二者结合在一起来使用呢
function b(){alert(er);};
从这个代码可以看出b函数中调用了b函数名,这样当函数名改变时就很不方便,我们需要替换里面的那个b
前面我们知道用什么方法可以指向当前对象,下面我们就来修改一下:
(function a(){b();})();function b(){alert(er);};
从代码中可以看出我们用ee代替了b函数,所以解决了一下麻烦。。。。。
以上所述就是本文的全部内容了,希望大家能够喜欢。
-
水星路由器设置wap
用户请根据自己的宽带接入方式,按照上面介绍的方法,安装你的水星(Mercury)MW153R路由器。以下是小编为大家整理分享的水星路由器设置wap,欢迎阅读参考。水星路由器设置wap本文介绍了水星(Mercury)MW153R无线路由器的安装、上网设置以及无线网络(Wi-Fi)的设置;一台...
-
如何理解Javascript的caller,callee,call,apply区别
在提到上述的概念之前,首先想说说javascript中函数的隐含参数:argumentsarguments该对象代表正在执行的函数和调用它的函数的参数。[function.]arguments[n]参数function:选项。当前正在执行的Function对象的名字。n:选项。要传递给Function对象的从0开始的参数值...
-
javascript的return语句的作用
return语句在js中非常的重要,不仅仅具有返回函数值的功能,还具有一些特殊的用法,有个清晰的把握是非常有必要的。下面就结合实例简单介绍一下return语句的作用。用来返回控制和函数结果:通常情况,return语句对于一个函数是很有必要的`,因为往往需要函数在一系列的代...
-
网页设计黄金配色原则是什么
身为网页设计新手的你,是不是还在纠结于你制作的网页找不到一组完美的配色方案?在本教程中我们将与你分享6条肯定会火,并且“错不了”的指导方针,你可以按照这些原则把握最基本的色彩规律。现在我们分享的这些原则都不是规则,你会在你的职业生涯中创造出更多的配色...
相关文章
- 如何理解Javascript的caller,callee,call,apply区别
- 如何理解Javascript的caller,callee,call,apply区别
- 如何理解Javascript的caller,callee,call,apply区别
- 如何理解Javascript的caller,callee,call,apply区别
- 如何理解Javascript的caller,callee,call,apply区别
- 如何理解Javascript的caller,callee,call,apply区别
- 如何理解Javascript的caller,callee,call,apply区别
- 如何理解Javascript的caller,callee,call,apply区别
- 如何理解Javascript的caller,callee,call,apply区别
- 如何理解Javascript的caller,callee,call,apply区别