当前位置:首页 > this > 正文

that和this指代的区别

  • this
  • 2024-06-22 14:56:49
  • 4283
区别 this that 指向 指向当前对象本身 指向另一个对象 使用场景

  • 访问自身属性和方法

  • 在类方法中,指向调用该方法的对象

  • 在函数中,指向全局对象(浏览器环境下为window)




  • 指向已经存在的对象,一般用于区分当前对象和其他对象


代码示例

function Person(name) {
this.name = name;
}
const person = new Person("Alice");
console.log(this.name); // 输出 "Alice"



const person1 = new Person("Alice");
const person2 = new Person("Bob");
console.log(person1.name); // 输出 "Alice"
console.log(person2.name); // 输出 "Bob"
console.log(that.name); // 错误,that没有指向任何对象

注意点 在严格模式下,函数中的this指向undefined 需要明确指定that指向的对象