JavaScript中this的值在函数调用时确定,遵循四条绑定规则:1.new绑定指向新实例;2.显式绑定由call/apply/bind指定;3.隐式绑定取点号前对象;4.默认绑定在严格模式下为undefined,非严格模式下为全局对象。

JavaScript 中 this 的值不是在函数定义时决定的,而是在函数被调用时才确定的——它取决于“谁调用了这个函数”。理解 this 的核心,就是掌握它的四条绑定规则(按优先级从高到低)。
当函数通过 new 关键字调用时,this 被绑定到新生成的实例对象上。
function Person(name) { this.name = name; }<br>const p = new Person('Alice'); // this 指向 p使用 call()、apply() 或 bind() 时,第一个参数就是你明确传入的 this 值。
立即学习“Java免费学习笔记(深入)”;
当函数作为对象的方法被调用(即形如 obj.method()),this 默认绑定到点号前的那个对象。
const obj = { name: 'Bob', say() { console.log(this.name); } };<br>obj.say(); // 'Bob' —— this 是 obj<br>const fn = obj.say;<br>fn(); // undefined(非严格模式下是全局对象)既没用 new,也没用 call/apply/bind,也不是对象方法调用,就进入默认绑定。
基本上就这些。实际判断时,按 new → 显式 → 隐式 → 默认 的顺序检查即可。记牢“调用位置决定 this”,而不是“定义位置”。
以上就是JavaScript this关键字如何确定_它的绑定规则是什么?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号