在实现自己的call,apply,bind前,需要复习一下this.所谓的this其实可以理解成一根指针:其实 this 的指向,始终坚持一个原理:this 永远指向最后调用它的那个对象,这就是精髓。最关键所在当this所在的函数被普通调用时,指向window,如果当前是严格模式,则指向undefined当this所在当函数被以obj.fn()形式调用时,指向obj还可以这么做当call,apply加入后,this的指向被改变了遇到bind后 :此时控制台并没有代码输出,因为bind会重新生成并且返回一个函数,这个函数的this指向第一个参数在函数原型上定义自己的myCall方法:四行代码实现了简单的call,思路如下:。为了简化,今天都不做类型判断和错误边际处理,只把原理讲清楚。

如何使用50行javaScript代码实现简单版的call,apply,bind

如何使用50行javaScript代码实现简单版的call,apply,bind

如何使用50行javaScript代码实现简单版的call,apply,bind

如何使用50行javaScript代码实现简单版的call,apply,bind