JS 中面向对象的5种写法
来源:互联网 发布:linux内核编译 ubuntu 编辑:程序博客网 时间:2024/05/17 05:56
//第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) );