call,apply的用法与区别

call与apply都是函数对象的一个方法,作用是改变函数的调用对象。它们各自的第一个参数就表示改变后的调用这个函数的对象。this指向就是第一个参数,若不填则指向全局。

var thisObj = {
    title:'call,applay的用法与区别'
}

function a(){
    console.log(this);
    console.log(this.title);
}

a.call(thisObj,x,y,z)

a.apply(thisObj,[x,y,z])

        这两个函数的方法功能相同,就是把一个函数里面的this设置为某个对象,区别就是后面的参数的语法。call需要使用逗号分隔列出所有参数,但是apply是把所有参数写在数组里面。需要注意的是即使只有一个参数,也必须写在数组里面。

参考:

https://baijiahao.baidu.com/s?id=1623502672848488220&wfr=spider&for=pc

http://www.ruanyifeng.com/blog/2010/04/using_this_keyword_in_javascript.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值