import { CodeSandbox } from '@/components/CodeSandbox'
复习面试题 - 打印题 - this 指向
题目 1:全局环境中的 this
题目 2:对象方法调用
题目 3:嵌套对象方法
题目 4:箭头函数
题目 5:bind 方法
题目 6:箭头函数中的 this
题目 7:箭头函数解决 this 问题
题目 8:严格模式下的 this
题目 9:多层嵌套的 this
题目 10:方法作为回调函数
题目 11:显示和隐式
总结
- 在严格模式下(React 默认严格模式),普通函数的 this 是 undefined,在非严格模式下,普通函数的 this 指向全局对象(浏览器中是 window)
- 箭头函数没有 this,会继承外层作用域的 this,如果用 call 或者 apply 改变 this 指向也没用
- 方法作为回调函数传递时,会丢失原有的 this 绑定,this 会指向全局对象
- 对象方法调用时,this 指向实际调用该方法的对象