標籤:js 物件導向 object 類
很長一段時間看網上大神的JS代碼特別吃力,那種物件導向的寫法方式讓人看得雲裡來霧裡去。於是就研究了一下JS物件導向,由於是初學,就將自己在網上找到的資料整理一下,作為記憶。
js物件導向的5種寫方法:(來自http://www.iteye.com/topic/434462)
首先 定義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) ); 在第一種方法中用到了pretotype請看下一節
js中的pretotype
js物件導向初步探究(上) js物件導向的5種寫方法