前端识记
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 里用 [[笔记名]] 引用它,这里就会出现,关系图谱上也会多出一条连线。