我是JavaScript新手。我仍然不确定“ this”的用法。例如,在下面的代码中,我们使用
的原因const density = this.numTrees/this.area;
代替
const density = numTrees/area;
是因为是否不使用它,当我们调用此方法时,numTrees区域将意味着不存在的全局变量? 当我们使用构造函数创建新的park对象时,area和numTrees是输入参数,因此我们可以使用它来将其设置为新的park对象,但是当我们使用treeDensity方法时,则没有输入,并且如果我们要使用area / numTrees我们必须从这个新创建的对象中获得这两个,所以我们必须使用此权限吗?非常感谢!
class Element {
constructor (name, buildYear) {
this.name = name;
this.buildYear = buildYear;
}
}
class Park extends Element {
constructor(name, buildYear, area, numTrees) {
super(name, buildYear);
this.area = area;//km2
this.numTrees = numTrees;
}
treeDensity () {
const density = this.numTrees / this.area;
console.log(`${this.name} has a tree density of ${density} trees per square km.`);
}
}