计算机笔记
前端识记

This指向

如果是用了function的定义函数,它就是谁调用,this就指向谁 当函数作为对象的方法被调用的时候,this就指向调用者,关键是看点前面是谁 比如obj.method(),那么调用者就是obj

如果是用了function的定义函数,它就是谁调用,this就指向谁 当函数作为对象的方法被调用的时候,this就指向调用者,关键是看点前面是谁 比如obj.method(),那么调用者就是obj

如果是用箭头函数,那么就默认指向最近的词法上下文,(在Node中顶层为Global this,在浏览器中undefined,ESM)

如果是嵌套普通函数直接调用,裸函数调用,this就是指向Global This或者Undefined

回调函数用function的异步回调会丢失绑定,此时this指向的是执行上下文的this环境;如果使用箭头函数,那么它就取决于定义时的函数this指向

同样的,如果通过赋值,它也会导致隐式绑定丢失

const func = obj.normal
func(123); 

这个时候调用方为函数,而不是对象

外层词法作用域是指普通的函数、对象字面量、代码块、箭头函数,这几个全部透明穿过,找到最近的这一个普通函数,就是它的最近词法上下文,同时this会指向这个函数所属于的对象 This永远只会指向对象,不会指向函数

反向链接(0

还没有笔记链接到这里。在 Obsidian 里用 [[笔记名]] 引用它,这里就会出现,关系图谱上也会多出一条连线。

关系图谱

This指向前端小记前端识记

On this page

No Headings