为什么在此示例中需要使用THIS关键字?

时间:2020-06-14 08:11:23

标签: javascript this

我是一个初学者,在经过漫长的课程之后,我遇到了这个示例,在该示例中,我们使用THIS关键字引用其对象中的属性。但是,我不明白为什么我们不能像通常在对象外时那样通过获取对象属性来获取属性:objectname.property。我测试了它,似乎工作正常。我显然很想念东西,所以如果有人可以告诉我,将不胜感激!示例如下。除了使用它之外,为什么不直接使用mark.bmi为例。

const mark = {
    name: `mark`,
    mass: 92,
    height: 1.95,
    bmiCalc: function() {
       this.bmi = this.mass / (this.height * this.height);
       return this.bmi;
    }
}

2 个答案:

答案 0 :(得分:0)

可以将属性动态添加到对象。您提出了一个琐碎的案例,但是在大多数情况下,如果没有“ this”,编译器将无法做出决定。如果您引用当前对象的成员或某些全局变量

答案 1 :(得分:0)

将变量名mark更改为jacob,不需要重构。但是,如果您将this更改为mark,则还需要将其更改为新的变量名称。

通常,您可以从一个类中创建更多对象(或实例)。类中定义的方法不仅适用于此对象(mark)。这就是在面向对象编程中使用它的原因。