javascript面向对象的5种写法

<script type="text/javascript">
// 第一种
function Circle(r){
this.r = r;
}
Circle.PI = 3.1415;
Circle.prototype.area = function(){
return Circle.PI * this.r * this.r;
}
var c = new Circle(2);
alert(c.area());

// 第二种
var Circle = function(){
var obj = new Object();
obj.PI = 3.14159;
obj.area = function(r){
return this.PI * r * r;
}
return obj;
}
var c = new Circle();
alert(c.area(2));

// 第三种
var Circle = new Object();
Circle.PI = 3.14159;
Circle.area = function(r){
return this.PI * r * r;
}
alert(Circle.area(2));

// 第四种
var Circle = {
'PI':3.14159,
'area':function(r){
return this.PI * r * r;
}
}
alert(Circle.area(2));

// 第五种
var Circle = new Function('this.PI=3.14159;this.area=function(r){return r*r*this.PI;}');
var c = new Circle();
alert(c.area(2));
</script>

posted @ 2016-02-17 10:08  一渡  阅读(78)  评论(0)    收藏  举报