js面向对象的写法

首先 定义circle类,拥有成员变量r,常量PI和计算面积的成员函数area();

//第1种写法 
function Circle(r) { 
       this .r = r; 
Circle.PI = 3.14159
Circle.prototype.area = function() { 
   return Circle.PI * this .r * this .r; 
}  
var c = new Circle( 1.0 );    
alert(c.area());
 
//第2种写法 
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( 1.0 ) );
 
//第3种写法 
var Circle = new Object(); 
Circle.PI = 3.14159
Circle.Area = function( r ) { 
        return this .PI * r * r; 
   
alert( Circle.Area( 1.0 ) );
 
//第4种写法 
var Circle={ 
    "PI" : 3.14159
  "area" :function(r){ 
           return this .PI * r * r; 
        
}; 
alert( Circle.area( 1.0 ) );
 
 
//第5种写法 
var Circle = new Function( "this.PI = 3.14159;this.area = function( r ) {return r*r*this.PI;}" ); 
   
alert( ( new Circle()).area( 1.0 ) );

猜你喜欢

转载自jiage17.iteye.com/blog/2367599