js中this的指向(普通函数、箭头函数)

this 存在的场景有三种全局执行上下文和函数执行上下文和 eval 执行上下文,eval 这种不讨论,在全局环境中调用普通函数,严格模式下this指向 undefined,非严格模式下this指向全局变量 window;通过一个对象来调用函数内部的方法,this指向该对象;new 关键字搭建好的新对象,构造函数里面的 this 指向新对象本身。箭头函数并不会创建其自身的执行上下文,即箭头函数没有 this,不能作为构造函数,一般是继承外部普通函数的 this 指向。

如果是使用 call、bind、apply 修改了指向,将会指向绑定后的 this, 在箭头函数之中将会指向函数的外层执行上下文,当函数定义之后将会确定当前的this。

普通函数的 this 是函数执行的时候绑定的,箭头函数的 this 是函数声明的时候进行绑定。

 

 

关于普通函数和箭头函数中 this 指向的更详细内容:https://www.cnblogs.com/cyy22321-blog/p/16127499.html

关于 call、bind、apply 更详细内容:https://www.cnblogs.com/cyy22321-blog/p/16204054.html

posted @ 2022-08-30 07:26  CodeFan*  阅读(37)  评论(0编辑  收藏  举报