javascript中的call()与apply()方法

本文介绍了JavaScript中的call()和apply()方法。这两种方法用于传递一个对象作为参数来调用函数,并改变函数内部this的指向。call()直接列出参数,而apply()则接收一个参数数组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

javascript中的call()方法与apply()方法 是函数的内置方法,所有的函数都具有这两个方法。这两个方法是通过函数名来调用的。这两个方法的作用是:传递一个对象作为参数,这个对象来调用这个函数。
下面来看一下call():
例:有一个函数:
function test(x,y){
this.x=x;
this.y=y;
}

我们定义了这个函数。同时,这个函数中已经有了call(),这个方法,此时可以调用了:
test.call(obj,2,5);//test函数调用call()方法

先解释一下参数: [color=blue]obj[/color]:是一个对象 [color=blue]2和5[/color]:是函数test的两实参
这段代码代表了一个对象obj调用了test这个函数。它将test函数作为对象obj的一个方法来调用了。把它翻译成java代码或许好理解一些:obj.test(2,5);
可以看到,函数test是作为obj对象的方法被调用了。此时,函数test中的this代表的是obj这个对象。此方法经常用在子类构造方法中,在继承父类时,来调用父类的构造函数。


apply()方法与call()方法类似,只是将函数test的所有的参数放在一个数组中而已。即:apply()方法只有两个参数,一个是obj对象,另一个是数组,这个数组中存放的是test函数的所有实参。例:

test.apply(obj,[2,5]);//调用apply()方法,只有两个参数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值