过去几天,我一直在处理和学习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/