Javascript中apply、call、bind的区别

1、三者都是用来改变函数的this对象的指向的;


2、三者第一个参数都是this要指向的对象,也就是想指定的上下文;


3、三者都可以利用后续参数传参;


4、bind 是返回对应函数,便于稍后调用;apply 、call 则是立即调用 。


5、当希望改变上下文环境之后并非立即执行,而是回调执行的时候,使用 bind() 方法。而 apply/call 则会立即执行函数。


例如



var obj = {

    x: 81,

};

 

var foo = {

    getX: function() {

        return this.x;

    }

}

 

console.log(foo.getX.bind(obj)());  //81

console.log(foo.getX.call(obj));    //81

console.log(foo.getX.apply(obj));   //81



文章转载自:Javascript中apply、call、bind的区别   http://www.studyofnet.com/news/1124.html



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值