> 本文讲解 JavaScript 中 的指向规则。 的值取决于函数的调用方式,而非定义位置。主要涵盖默认、隐式、显式、new绑定和箭头函数五种情况及其优先级。 我们来系统地梳理一下 JavaScript 中 的指向规则。这是 JavaScript 中一个非常重要但又容易混淆的概念。 核心原则: 的值取决于函数被调用的方式(the call-site),而不是函数被定义的地方。 我们可以将 的指向规则归纳为以下五种情况,并按优先级从低到高排列。 --- 1. 默认绑定 (Default Binding) 当一个函数作为普通函数独立调用,没有被任何对象拥有,也没有通过 , , 指定时,就会使用默认绑定。 - 非严格模式 (Non-Strict Mode): 指向全局对象(在浏览器中是 ,在 Node.js 中是 )。 - 严格模式 (Strict Mode): 的值为 。 示例: 常见陷阱: 将对象的方法赋值给一个变量后独立调用。 在这个例子中, 调用时,它是一个独立的函数调用,丢失了与 对象的关联,因此应用了默认绑定规则。 --- 2. 隐式绑定 (Implicit Bindin...