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>

浙公网安备 33010602011771号