被叫
Callee是一个对象的
属性,它是一个指向
函数的指针
参数的参数对象
首先,让我们写出一个有序函数:
函数陈(x){
如果(x=1){
返回1;
别的{ }
返回x *陈(X-1);
};
};
从这个函数可以看出,递归函数被使用。如果函数名被更改,它的函数名也会随着变化而改变。这是非常不方便,所以我们尝试与被叫。
函数陈(x){
如果(x=1){返回1;
其他{ }
返回x * arguments.callee(X-1);
};
};
让我们分析一下为什么我们这样写:根据呼叫者的定义,我们可以看到,被调用者的参数对象的一个属性,指向实参对象的函数,这个函数是陈(陈=争论。被叫方),这样的解释应该是可以理解的。
来电
调用者是一个函数对象的属性,它
保存对调用当前函数的函数的引用(直接的父函数到当前函数)
让我们先举个例子。
函数A(){
(b);
};
函数B(){
警报(b.caller);
};
(a);结果是弹出函数a和内容。
让我们解释一下。首先,B的属性称为调用方。调用当前函数B的函数被称为A(即,父函数指向当前函数B),因此结果是弹出函数A(){ b();}
所以调用者和被调用者,你不能将两者结合在一起。
函数B(){
警报(b.caller);
};
从这个代码中,您可以看到B函数名是在B函数中调用的,所以当函数名称发生变化时,它非常不方便,我们需要在内部
替换B。
在我们知道什么
方法可以用来指向当前对象之前,让我们改变以下几点:
(函数A(){
(b);
});
函数B(){
警报(参数。被叫。来电);
};
从代码中,我们可以看到,我们有arguments.callee取代B的
功能,所以我们
解决问题。
以上是本文的全部内容,希望大家能喜欢。