改变函数内部的this指针的指向

每个函数都包含两个非继承来的方法call()和apply();

使用call()或者apply(),可以改变this的指向;

假设要改变fn函数内部的this的指向,指向obj,那么可以fn.call(obj);或者fn.apply(obj);


call和apply的区别:

call和apply的区别在于参数,他们两个的第一个参数都是一样的,表示调用该函数的对象;

apply的第二个参数是数组,是[arg1,arg2,arg3]这种形式,而call是arg1,arg2,arg3这样的形式。


另外还可以用bind函数:

var bar=fn.bind(obj);

那么fn中的this就指向obj对象了,bind函数返回新的函数,这个函数内的this指针指向obj对象。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值