小毅收藏之------JS 中面向对象的5种写法

Posted on 2009-08-12 19:31 H2O 阅读(258) 评论(0)  编辑  收藏 所属分类: javascript

 

 1//第1种写法   
 2function Circle(r) {   
 3      this.r = r;   
 4}
   
 5Circle.PI = 3.14159;   
 6Circle.prototype.area = function() {   
 7  return Circle.PI * this.r * this.r;   
 8}
   
 9  
10var c = new Circle(1.0);      
11alert(c.area());   

 

 1//第2种写法   
 2var Circle = function() {   
 3   var obj = new Object();   
 4   obj.PI = 3.14159;   
 5      
 6   obj.area = function( r ) {   
 7       return this.PI * r * r;   
 8   }
   
 9   return obj;   
10}
   
11  
12var c = new Circle();   
13alert( c.area( 1.0 ) );  
14

 

1//第3种写法   
2var Circle = new Object();   
3Circle.PI = 3.14159;   
4Circle.Area = function( r ) {   
5       return this.PI * r * r;   
6}
   
7  
8alert( Circle.Area( 1.0 ) );

 

1//第4种写法   
2var Circle={   
3   "PI":3.14159,   
4 "area":function(r){   
5          return this.PI * r * r;   
6        }
   
7}
;   
8alert( 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) );  

 


只有注册用户登录后才能发表评论。


网站导航:
 

posts - 0, comments - 21, trackbacks - 0, articles - 101

Copyright © H2O