bind/ call实现方法(javaScript)


 call方法实现

```js // 用于获取对象中的值 function gtname() {     console.log(this.name);   } // 对象 let obj = {    name: "kyle",    num: 0, }; // 实现方法 Function.prototype.myCall = function (obj, ...args) {    let self = this;    obj.$$$fn = self;    delete obj.$$$fn(...args);  }; // 结果 gtname.myCall(obj); ```    

bind方法实现:利用闭包实现

```js

Function.prototype.myBind = function (obj) {    let self = this;    let $obj = {       ...obj,     };     $obj.$fn = self;     return function () {       $obj.$fn();     }; };
let res = addNum.myBind(obj); function addNum() {   this.num++; } // 结果 setInterval(res, 200);

```