谈谈this对象的理解

  • 什么是this,它存在的意义是什么,特点有哪些
  1. this 关键字是函数运行时自动生成的一个内部对象,只能在函数内部使用,总指向调用它的对象
  2. 在绝大多数情况下,函数的调用方式决定了 this 的值(运行时绑定)
  3. this在函数执行过程中,this一旦被确定了,就不可以再更改
  4. this产生的意义:由于函数可以在不同的运行环境执行,所以需要有一种机制,能够在函数体内部获得当前的运行环境(context)。所以,this就出现了,它的设计目的就是在函数体内部,指代函数当前的运行环境。                                                                                                               深入理解this产生的意义---https://m.php.cn/article/407815.html
  • this的指向问题(绑定规则)
  1. 默认绑定--全局环境下的函数,在非严格模式下,this默认指向window
  2. 隐式绑定--函数被调用时,指向最后调用它的那个对象
  3. 显示绑定--也叫显示修改,我们可以用call、apply和bind方法去主动修改this的指向
  4. new绑定--new关键字后面的构造函数this指向实例对象(如果遇到显式的return 【Object】,this会指向这个显式的对象)
  5. 箭头函数中的this指向--箭头函数中的this指向window
  6. 优先级:new绑定优先级 > 显示绑定优先级 > 隐式绑定优先级 > 默认绑定优先级,箭头函数 > 隐式绑定
  • 如何改变this的指向
  1. 改变引用
  2. call、apply、bind方法
posted @ 2022-05-12 11:52  大哥成  阅读(147)  评论(0编辑  收藏  举报