2020-11-11 apply call bind 用法

2020-11-11  本文已影响0人  忙于未来的民工

三个都可以用来改变this的指向,区别就是用法不同,具体使用方法

1:都可以用来绑定对象

apply

const a = {b: 11}

const fn = function (c) {console.log(this.b)}

fn.apply(a);

fn.call(a);

fn.bind(a)();

2:具体区别:

apply:第二个参数是一个数组

call:如果有多个参数,依次传入进去

bind:第一个参数是绑定的对象,返回一个函数,需要重新调用才会执行

看例子:

const a = {b: 11}

const fn = function (c, d) {console.log(this.b); console.log(c, d)}

fn.apply(a, [1, 2]);

fn.call(a, 1, 2);

fn.bind(a)(1, 2);

上一篇下一篇

猜你喜欢

热点阅读