一、this的指向问题
this的指向问题,在于他他被那个函数调用了就指向那个函数 在全局条件下的指向为当前的视窗Window,但是这样就会造成在this的指向达不到我们的要求,还有就是需要改变this的指针方向在达到某些需求。
二、修改this指向的放
1.使用箭头函数
箭头函数里面的this指向不是在于谁调用了函数而是根据函数的上下文来觉定
2. call关键字
call关键字 call会改变this的指向性 第一个参数是改变的this指向 ,其余参数属于传入方法的参数
这里dog调用方法时this的指向变成cat去了,所以sayName的this.name指向的就是cat的name
3. apply关键字
apply 关键字 和call的区别在于 他的传参方式是用数组的方式进行传递
4. bind关键字
bind 关键字 与上面两种关键字的区别在于 他不会执行方法 只会放回一个this指向被修改了的对象
总结
箭头函数,会使this的指向改变为函数的上下文的方向
call会调用函数,通过传参列表依次传参
apply 会调用函数,通过数组来传递参数
bind 不会调用函数 只会返回一个修改了this指向的对象 ,通过传参列表依次传参