JavaScript this的指向

作者: Nian糕 | 来源:发表于2020-06-12 01:00 被阅读0次
Unsplash

在 JavaScript 中 this 取什么值,是在函数真正被调用执行的时候确定的,函数定义的时候确定不了,因为 this 的取值是执行上下文环境的一部分,每次调用函数,都会产生一个新的执行上下文环境

  1. this 作为普通函数,指向 window
function fn1() {
  console.log(this)
}
fn1() // window
  1. 使用 call() apply() bind(),指向第一个参数
fn1.call({x: 100}) // 指向第一个参数 {x: 100}
  1. 作为对象方法被调用,指向调用该方法的对象
const niangao = {
  name: '年糕',
  sayHi() {
    // this 即当前对象
    console.log(this)
  },
  wait() {
    setTimeout(function() {
      // this === window
      // setTimeout是作为普通函数去执行,而不是作为niangao.wait()去执行
      console.log(this)
    })
  }
}
  1. class 方法中被调用,指向实例对象
class Food {
  costructor(name) {
    this.name = name
  }
  eat() {
    console.log(this)
  }
}
const niangao = new Food('年糕')
niangao.eat() // Food{}
  1. 箭头函数,指向上级作用域的 this
const niangao = {
  name: '年糕',
  sayHi() {
    // this 即当前对象
    console.log(this)
  },
  waitAgain() {
    setTimeout(() => {
      // this 即当前对象
      console.log(this)
    })
  }
}
End of File

行文过程中出现错误或不妥之处在所难免,希望大家能够给予指正,以免误导更多人,最后,如果你觉得我的文章写的还不错,希望能够点一下喜欢关注,为了我能早日成为简书优秀作者献上一发助攻吧,谢谢!^ ^

相关文章

  • 关于js函数中this的指向的问题

    @(javascript)[JavaScript中this的指向] 关于js函数中this的指向的问题 javas...

  • javascript this 指向

    我在文章《javascript 执行上下文》中介绍了 javascript 代码在执行时,会相应地创建对应执行上下...

  • javascript this指向

    首页,js默认的对象是Window,调用一个函数是,如果不去改变它的调用对象的话,this基本上都会指向Windo...

  • JavaScript this的指向

    在 JavaScript 中 this 取什么值,是在函数真正被调用执行的时候确定的,函数定义的时候确定不了,因为...

  • JavaScript:this的指向

    this 的默认绑定 全局环境下的 this 指向了 window 函数独立调用,函数内部的 this 也指向了 ...

  • JavaScript this的指向问题

    原文参考toddmotto 1. 关于This执向问题,有三个要点: this的指向跟函数本身没有关系,取决于函数...

  • javascript的this指向问题

    例子1: 这题考到了 this 的指向, 还有一个小坑, 在 window 下, 默认有一个 name 属性, 这...

  • javascript中的this指向

    写在前面 本文转自深入浅出 JavaScript 中的 this 在java等面向对象的语言中,this关键字的含...

  • Javascript 中 this 的指向

    大家好,我是IT修真院武汉第10期学员,一枚正直、纯洁、善良的前端程序员。 今天给大家分享一下,修真院官网任务...

  • JavaScript中的this指向

    1.概念 在JavaScript中,this 是指当前函数中正在执行的上下文环境,因为这门语言拥有四种不同的函数调...

网友评论

    本文标题:JavaScript this的指向

    本文链接:https://www.haomeiwen.com/subject/qsuwtktx.html