此页内容

约 306 字大约 1 分钟

2022-04-15

提问

谈谈你对 this 对象的理解

this 是执行上下文中的一个属性,它指向最后一次调用这个方法的对象, 在实际开发中,this的指向可以通过四种调用模式来判断。

  • 函数调用模式。当一个函数不是一个对象的属性时,直接作为函数来调用,this指向全局对象。
  • 方法调用模式。如果一个函数作为一个对象的方法来调用时,this指向这个对象。
  • 构造器调用模式。如果一个函数用new调用时,函数执行前会新创建一个对象,this指向这个新创建的对象。
  • apply、call、bind调用模式,这三个方法都可以显式的指向调用函数的this指向。
    • apply 方法接受两个参数,一个是this绑定的对象,一个是参数数组。
    • call 方法接受的参数,第一个参数是this绑定的对象,后面其余的参数是传入函数执行的参数。
    • bind 方法通过传入一个对象,返回一个this绑定了传入对象的函数。