两种常见JS面向象写法

基于构造函数

1
2
3
4
5
6
7
function Circle(r) { 
this.r = r;
}
Circle.PI = 3.14159;
Circle.prototype.area = function() {
return Circle.PI * this.r * this.r;
}

调用

1
2
var c = new Circle(1.0); 
console.log(c.area())//3.14159;

类Json写法

1
2
3
4
5
6
var Circle={ 
"PI":3.14159,
"area":function(r){
return this.PI * r * r;
}
};

调用

1
console.log(Circle.area(1.0));//3.14159