this关键字

75 阅读1分钟
  • this是JavaScript的关键字,它代表的是执行这个this代码的环境对象
  1. 在全局作用下this代表的是window console.log(this)

image.png 2. 当this在函数中时,this代表的是调用函数的调用者。全局函数会在脚本执行时 把函数设置为全局对象window的方法,所直接调用函数时this代表window

 function fn() {
    console.log(this)
  }
  fn() //fn直接被调用,所以相当于window.fn()这里的this是window
</script>

image.png

  var obj = {
    name: "父亲",
    son: {
      name: "儿子",
      say: function () {
        console.log(this)
      }
    }
  }
  obj.son.say() //这里最终调用say的是son而不是obj,所以this为son

image.png

  • 简单来说this代表离它最近的嵌套级别的function的调用者,如果没有就是window总结为:

image.png