JavaScript this 绑定

js/this2026-10-29 11:03:47

JavaScript this 绑定决定函数执行时 this 所代表的值。普通函数主要依据调用方式确定接收者,箭头函数则从外围词法环境取得 this。

普通函数与箭头函数

普通函数通过 obj.method() 调用时,通常以 obj 为接收者;把方法取出后直接调用,不会保留原接收者。严格模式下,普通函数直接调用的 this 为 undefined;非严格模式还涉及全局对象替换及装箱规则。

箭头函数没有自己的 this,call、apply 和 bind 无法为它重新绑定 this,箭头函数也不能通过 new 构造。

判断方法

判断 this 时应先看函数种类,再看实际调用表达式。词法作用域决定变量查找,普通函数的接收者绑定是另一套机制,不能把 this 简单等同于函数定义所在的对象。

参考:this 官方参考。

本页目录