我一直在尋找進入原型對象,我有點困惑以下原型在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";
是上述兩種說法是否正確?