js物件導向初步探究(上) js物件導向的5種寫方法

來源:互聯網
上載者:User

標籤: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種寫方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.