Day 58/100 JavaScript 改变this指针的三
2020-09-29 本文已影响0人
赵国星
写在前面的话
最近在晚上写,有点困,明儿试试早上~
(一)先说三种方法
Apply,Call,Bind
(二)共同点
1、都是用来改变函数的this对象的指向的。
2、第一个参数都是this要指向的对象。
3、都可以利用后续参数传参。
三者的参数不限定是 string 类型,允许是各种类型,包括函数 、 object 等等!
(三)区别
1、Apply参数传的是数组
obj.myFun.apply(db,['成都','上海']); // 德玛 年龄 99 来自 成都去往上海
2、Call传的是多个参数,用都好隔开
obj.myFun.call(db,'成都','上海'); // 德玛 年龄 99 来自 成都去往上海
3、bind直接调用返回的是一个函数,并不执行,假如执行,需要后面跟个()
obj.myFun.bind(db,'成都','上海')(); // 德玛 年龄 99 来自 成都去往上海
参考链接:
https://www.cnblogs.com/cosiray/p/4512969.html