普通函数
一、认识
二、语法
三、问题
3.1 谈一谈函数中 this 的指向?
在 JavaScript
中, 函数内部的 this
指向取决于函数调用时的上下文, 而不是定义的位置。具体来说, 有以下几种情况:
一、全局/默认绑定: 在全局环境下(非严格模式), 调用普通函数时, this
默认指向全局对象(在浏览器中为 window
)。在严格模式下, 如果直接调用函数, this
会是 undefined
。
二、隐式绑定(对象方法调用): 当函数作为对象的方法被调用时, this
指向该对象。
三、显式绑定 (call
、apply
、bind
): 利用 call
、apply
或 bind
可以显式指定函数调用时 this
的指向
四、构造函数调用(new
绑定): 当函数作为构造函数调用时(使用 new
关键字), this
指向新创建的实例对象
五、箭头函数的词法绑定: 箭头函数不会创建自己的 this
, 而是捕获其定义时所在的词法作用域的 this
。因此, 箭头函数中的 this
不能通过调用方式改变。