其他分享
首页 > 其他分享> > call , apply , bind区别

call , apply , bind区别

作者:互联网

function a(a, b) {
    this.aa = 1;
    console.log(this, a, b);

}
function b(a, b) {
    this.bb = 2;
    console.log(this, a, b);
}
function c(a, b) {
    this.cc = 2;
    console.log(this, a, b);
}


// 改变函数指针
// call 立即执行 与apply类似区别在参数
const aaa = a.call(this, '这是call11', '这是call2');
// apply 立即执行 与call类似区别在参数装到数组里面
const bbb = b.apply(this, ['这是apply1', '这是apply2']);
// bind 不会立即执行,参数与call一致
const ccc = c.bind(this, 'bind1', 'bind2');
ccc()

 

{ aa: 1 } 这是call11 这是call2
{ aa: 1, bb: 2 } 这是apply1 这是apply2
{ aa: 1, bb: 2, cc: 2 } bind1 bind2

 

标签:aa,function,console,log,bind,call,apply
来源: https://www.cnblogs.com/coffeemil/p/16593379.html