按钮绑定中this的调用

70 阅读1分钟

image.png image.png

如果直接使用this,则函数btnClick中的this会返回undefined 这不是一个隐式绑定 因为在button中this.btnClick并没有调用,而是引用它,相当于把btnClick的地址传给了button,相当于this.btnClick传入到onClick对象的内部

image.png

当发现按钮点击时,回调传入的函数

image.png 然后调用

image.png

所以是默认调用

相当于,上面的隐式调用,下面的是默认调用,默认调用在普通模式下指向window,严格模式下指向undefined 因为我们使用的bable,会装换位严格模式 image.png

解决方法

方法1.bind绑定 image.png

image.png

方法2,箭头函数

image.png

image.png

方法3,直接传入箭头函数 这里就是隐式绑定了

image.png

image.png