Skip to content

import { CodeSandbox } from '@/components/CodeSandbox'

复习面试题 - 打印题 - this 指向

题目 1:全局环境中的 this

题目 2:对象方法调用

题目 3:嵌套对象方法

题目 4:箭头函数

题目 5:bind 方法

题目 6:箭头函数中的 this

题目 7:箭头函数解决 this 问题

题目 8:严格模式下的 this

题目 9:多层嵌套的 this

题目 10:方法作为回调函数

题目 11:显示和隐式

this 指向问题

总结

  • 在严格模式下(React 默认严格模式),普通函数的 this 是 undefined,在非严格模式下,普通函数的 this 指向全局对象(浏览器中是 window)
  • 箭头函数没有 this,会继承外层作用域的 this,如果用 call 或者 apply 改变 this 指向也没用
  • 方法作为回调函数传递时,会丢失原有的 this 绑定,this 会指向全局对象
  • 对象方法调用时,this 指向实际调用该方法的对象