过去几天,我一直在处理和学习JS中的对象和OOP,我对它们现在的工作原理有一个基本的了解。

使我困扰的一件事是,我与他们之间的区别在哪里:

var bird = "Birdy: var bird"


和这个

this.bird = "Birdy: this.bird"


它们都将向该对象添加一个属性(鸟)。在这种情况下,它指向对象Window。区别在哪里?人们为什么使用* this。* bird方法?它的优点是什么(有人可以向我展示this.bird优于var bird的示例)吗?

让我们以tutorial为例:为什么他在这里使用它?这不是多余的吗?不能全部删除和/或替换它吗?

最佳答案

别误会。 var在当前功能上下文中添加一个属性:

obj={
  add:function(){
    var plane="test";
    this.bird="test2";
  }//plane gets deleted right here as it isnt used anymoreand it was never part of obj
};

obj.add();
obj.plane;//never existed
console.log(obj.bird);

关于javascript - 'var a = b'和'this.a = b'之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43450065/

10-11 23:02