跳到主要内容

普通函数

一、认识


二、语法


三、问题


3.1 谈一谈函数中 this 的指向?

JavaScript 中, 函数内部的 this 指向取决于函数调用时的上下文, 而不是定义的位置。具体来说, 有以下几种情况:

一、全局/默认绑定: 在全局环境下(非严格模式), 调用普通函数时, this 默认指向全局对象(在浏览器中为 window)。在严格模式下, 如果直接调用函数, this 会是 undefined

二、隐式绑定(对象方法调用): 当函数作为对象的方法被调用时, this 指向该对象。

三、显式绑定 (callapplybind: 利用 callapplybind 可以显式指定函数调用时 this 的指向

四、构造函数调用(new 绑定): 当函数作为构造函数调用时(使用 new 关键字), this 指向新创建的实例对象

五、箭头函数的词法绑定: 箭头函数不会创建自己的 this, 而是捕获其定义时所在的词法作用域的 this。因此, 箭头函数中的 this 不能通过调用方式改变。