熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

以一個最簡單的例子把OO的JavaScript說明白

2013-11-15 11:52:11  來源: JSP教程 

  OO的JavaScript並不高深麻煩就麻煩在google出來的國人介紹文章經常羅羅嗦嗦而且之間的說法還各有不同擺在一起就讓人看了頭大
這裡重拾簡單主義以一個最簡單的例子把OO Javascript說明白

  一個頗為精簡的例子

  //定義Circle類
function Circle(radius)
{  
  thisr = radius;
}
CirclePI = ;
Circleprototypearea = function(  ) {return CirclePI * thisr * thisr;}

//使用Circle類
var c = new Circle();  
alert(carea());

  只需理解三個關鍵字:
第一個是function JS世界裡類的定義用function 裡面的內容是構造函數的內容

  第二個是this指針 代表調用這個函數的對象

  第三個是prototype 用它來定義成員函數 比較規范和保險
另外還可以寫成這樣:
function compute_area(){return CirclePI * thisr * thisr;}
Circleprototypearea=compute_area;

  繼承

  //定義
function ChildCircle(radius)
{  
     thisbase=Circle;
     thisbase(radius);
}

ChildCircleprototype=new Circle();
function Circle_max(ab)
{
    if (ar > br) return a;

    else return b;
}
ChildCirclemax = Circle_max;

  //使用



var d = new ChildCircle();  
var bigger = dmax(cd);
alert(biggerarea());

  注意兩點
定義繼承關系 ChildCircleprototype=new Circle(); 其中是占位用的
調用父類構造函數 
     thisbase=Circle;
     thisbase(radius);

  var式定義
JS還支持一種var Circle={raidus:PI:}的形式就如CSS的定義
因此Circle還可以定義為

  var newCircle=
{
r:
PI:
area: function(){ return thisPI * thisr * thisr;}
};
alert(newCirclearea());

  BTW吃飽了撐著可以看看Rails帶的OO Javascript庫Prototype


From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19777.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.