呼叫的方法
参见
应用于:函数对象
要求
5.5版
调用对象的一种方法用于用另一个对象替换当前对象。

电话(thisobj { { { {,arg1,arg2,{,argn }}}}}。)
参数
thisobj
可选。它将用作当前对象的对象。
arg1,arg2,argn
可选。方法参数序列将被传递。
解释
调用方法可以用来代替另一个对象调用方法时,调用的方法可以改变一个函数对象上下文从初始上下文的thisobj指定新的对象。

如果没有提供thisobj参数,则全局对象作为thisobj。

-------------------------------------------------------------------------------------------
乍一看,很容易看到胡并做一些简单的说明。
obj1.method1.call(obj2,论证1,论证2)
如上所述,电话的作用是将obj2的以此方法,以及后来的论证1 ..作为参数引入。

举一个具体的例子
复制代码代码如下所示:
函数添加(a,b)
{
警报(A + B);
}
函数子(a,b)
{
警报(A-B);
}

add.call(子,3,1);

这个例子的意思是使用添加替换子,add.call(子,3,1)=加(3,1),所以操作结果:报警(4); / /注:js函数是对象,函数名是指一个函数对象。


看一个稍微复杂一点的例子
复制代码代码如下所示:
1()函数
{
this.name =class1;

this.shownam =功能()
{
警报(这个名字);
}
}

2()函数
{
this.name =班;
}

VaR C1 =新一班();
VaR C2 =新班();

c1.shownam.call(C2);

注意调用的含义是将C1的方法放在C2上。原来,C2没有shownam()方法。现在要把C1的shownam()方法在C2,所以this.name应班,和执行的结果是警告(这个名字)。

怎么了,我想让一个对象执行B对象的方法很有趣,是不是java程序员不需要思考,更有趣的是,您可以使用电话来继承
复制代码代码如下所示:
1()函数
{
this.showtxt =功能(TXT)
{
警报(TXT);
}
}

2()函数
{
class1.call(本);
}

VaR C2 =新班();

c2.showtxt(CC);

这个班是继承一班,class1.call(这)是指用一班的对象而不是这个对象,然后班没有1类的所有属性和方法:C2对象直接调用类的方法和属性,执行的结果是:警报(CC);

是的,这就是Javascript如何在面向对象和多重继承中模拟继承的方法。
复制代码代码如下所示:
10()函数
{
this.showsub =功能(A,B)
{
警报(A-B);
}
}

11班()函数
{
this.showadd =功能(A,B)
{
警报(A + B);
}
}


2()函数
{
class10.call(本);
class11.call(本);
}

用两个调用实现多重继承是很容易的。
当然,还有其他继承JS的方法,例如使用原型链,它不属于本文,但是这里描述了调用的用法。
调用,当然,应用,这两种方法基本上是一种想法。
区别在于调用的第二个参数可以是任何类型,应用程序的第二个参数必须是数组。