我一直在寻找进入原型对象,我有点困惑以下原型在JavaScript
//my constructor function
function Circle(r) {
this.radius = r;
this.PI = 3.14;
}
function areaCalculator() {
this.area = this.PI * this.radius * this.radius;
}
function circumferenceCalculator() {
this.circumference = 2* this.PI * this.radius;
}
,因为我们的函数是一个对象,并有一个属性叫做原型,它是可以添加的属性和这些原型对象的方法将自动适用于我们使用我们的函数构造函数创建的所有自定义对象。
Circle.prototype.areaCalculator = areaCalculator; //adding function
Circle.prototype.color = "Red"; //adding property
var circle1 = new Circle(5);
circle1.areaCalculator();
console.log(circle1.radius);//5
console.log(circle1.area); //78.5
console.log(circle1.color);//Red
如果我理解正确,所有使用Circle的对象都会引用相同的颜色变量,除非它们被明确设置。它是否正确?
而且这是什么意思做类似下面不使用原型
Circle.circumferenceCalculator = circumferenceCalculator;
Circle.color = "Red";
是上述两种说法是否正确?