箭头函数不会创建自己的this,它只会从自己的作用域链的上一层沿用this。
具体看实例:
//以前:谁调用的这个函数 this就指向谁// console.log(this);//window// function fn(){// console.log(this);//window 因为这个函数也是window调用的 window.fn();// }// fn();// //对象方法的this// const obj = {// name:'andy',// sayHi:function(){// console.log(this);//obj// }// };// obj.sayHi();// //箭头函数的this 上一层作用域的this指向// const fn = () => {// console.log(this);//window// }// fn();// //对象方法的箭头函数的this// const obj = {// uname:'aa',// sayHi:() => {// console.log(this);//this指向window// }// }// obj.sayHi();//window;//因为箭头函数没有this 所以在箭头函数里面查找this//会找到上一级 而是window调用obj的 ——> window.objconst obj = {uname:'pink老师',sayHi:function(){console.log(this);//objlet i = 10;const count = () =>{console.log(this);//obj/*因为箭头函数没有this指向 所以会找上一级的thi指向而sayHi这个函数是普通函数 谁调用它它就指向谁所以sayHi的this指向是obj obj.sayHi();所以count箭头函数的指向也为bj*/}count();}}obj.sayHi();