JS的争论,jcallee呼叫者使用总结

关键词:参数,被调用函数调用
参数:表示传入函数的参数。
Callee:代表函数的声明和函数的函数体
调用方:表示调用函数的函数。

争论

此对象表示正在执行的函数和调用其函数的参数。

来电

返回调用当前函数的函数的引用。
functionname.caller
该函数名对象执行的函数名称。

解释
一个函数,调用定义属性只有当函数被执行。如果函数调用的顶层,然后调用包含零。如果调用属性用在字符串上下文,结果是functionname.tostring相同,也就是说,该函数的分解的版本显示。

被叫

返回正在执行的函数对象,即指定函数对象的主体。

{ } arguments.callee功能。

可选的函数参数是当前正在执行的函数对象的名称。

解释

callee属性的初始值是正在执行的函数对象。

callee属性的参数对象的一个成员。它指的是对函数对象本身的引用,这有助于匿名函数的递归函数或函数的封装。例如,递归计算的1个自然数N的例子是递归的。此属性仅当相关函数正在执行,也要注意,被调用方的长度属性重要,有时是用来验证或是better.arguments.length是一个参数的长度,和arguments.callee.length是参数的长度,从而判断参数的长度是符合参数的长度时,称为。
复制代码代码如下所示:

函数测试(x,y,z)
{
警报(参数长度:+参数。长度);
警报(长度的参数:+论据。被叫。长度);
警报()参数的长度:+测试长度;
警报(参数{ 0)
未使用此警报(测试{ 0)未定义

}

/ /测试(1,2,3);
测试(1,2,3,4);

*
*参数不是数组(数组类)
* /
array.prototype.selfvalue = 1;
功能testaguments(){
警报(观点。自我价值=+论据。自我价值);
}
警报(阵列。sefvalue =+新数组()。Selfvalue);
testaguments();

**
*演示函数的调用方属性。
*描述:(当前函数):调用者:返回对调用当前函数的函数的引用
* /

功能callerdemo(){
如果(callerdemo。来电){
创建一个callerdemo。来电。论点{ 0 };
警报(a);
其他{ }
警报(这是一个top函数);
}
}
功能handlecaller(){
CallerDemo();
}

CallerDemo();
HandleCaller(参数1


**
*演示功能callee属性。
*注:本arguments.callee初始值:是函数对象被执行,用于匿名函数
* /
功能calleedemo(){
警报(参数。被叫方);
}
CalleeDemo();
(功能(arg0,arg1){ alert(数字形式的号码是:+论据。被叫。长度)})();


**
*演示应用程序调用函数的使用
*描述:函数是将函数绑定到要运行的另一个对象,这两个对象只在定义参数的方式上有所不同:
*申请(thisarg,argarray);
*电话(thisarg {,arg1,arg2…)} });
*即this指针里面的所有功能将被分配到thisarg
* /

函数的ObjectA(){
警报(执行ObjectA());
警报(参数{ 0);
这个函数=函数(MSG){警报(MSG)}
这个信息=我来自对象
}

函数的ObjectB(){
警报(执行ObjectB());
(对象) / /呼叫的方法,同时,ObjectA的这个构造函数将取代这objectb
ObjectA.apply(这个参数); / / objecta.call(本);
警报(此信息);
}
ObjectB('parameter 0);


var值全局变量;
函数的Obj(){
此值对象!;
}
函数关系(){
警报(这个值);
}
需要();
fun1.apply(窗口);
fun1.apply(新目标());