用oop的方法設計js指令碼 (轉)

worldblog發表於2008-01-31
用oop的方法設計js指令碼 (轉)[@more@]

用的方法設計js指令碼:namespace prefix = o ns = "urn:schemas--com::office" />

基本概念:

是一種解釋型的、基於的指令碼語言。不能使用該語言來編寫獨立執行的應用,只能在某個直譯器或“宿主”上執行,如 Active Server Pages()、Inte 或者 指令碼宿主。

JScript 是一種寬鬆型別的語言,JScript 將根據需要自動進行轉換。

Jscript 支援四種型別的物件:nintrinsics.htm">內建物件、、宿主給出的物件(如 Internet 瀏覽器中的 window 和 document)以及 物件(外部)。

內建物件:ActiveXObject、Array、Boolean、Date、Function、Global、Math、Number、Object、RegExp以及String物件;還有Error、arguments、Enumerator、正則物件、VBArray、Dictionary、FileSystemObject、TextSream物件的說法,由於後者要求js版本比較高,而且不常用到,所以此處不作解釋。

a)  *ActiveXObject:啟用並返回 Automation物件的引用。

þ  屬性:無;

þ  方法:無;

þ  例子:var outXml=new ActiveXObject("Microsoft.XML");

b)  Array:提供對建立任何資料型別的陣列的支援。

þ  屬性:constructor,length,;

þ  方法:concat,join,reverse,slice,sort,toLocaleString,toString,valueOf;

þ  例子:

var my_array = new Array();

for (i = 0; i < 10; i++){

my_array[i] = i;

}

x = my_array[4];

c)  *Boolean:建立新的Boolean值。

þ  屬性:constructor,prototype;

þ  方法:toString,valueOf;

þ  例子:

d)  Date:啟用基本器並取得日期和時間。

þ  屬性:constructor,prototype;

þ  方法:getDate,getDay,getFullYear,getHours,getMilliseconds,getMinutes,getMonth,getSeconds,getTime,getTimezoneOffset,getUTCDate,getUTCDay,getUTCFullYear,getUTCHours,getUTCMilliSeconds,getUTCMinutes,getUTCMonth,getUTCSeconds,getVarDate,getYear,setDate,setFullYear,setHours,setMilliSeconds,setMinutes,setMonth,setSeconds,setTime,setUTCDate,setUTCFullYear,setUTCHours,setUTCMilliseconds,setUTCMinutes,setUTCMonth,setUTCSeconds,setYear,toGMTString,toLocaleString,toUTCString,toString,valueOf;靜態方法(parse,UTC);

þ  例子:

e)  *Function:建立新的。

þ  屬性:arguments,caller,constructor,prototype;

þ  方法:toString,valueOf;

þ  例子:

f)  Global:是一個內部物件,目的是把所有全域性方法集中在一個物件中。Global 物件沒有語法。直接其方法。

þ  屬性:Infinity,NaN;

þ  方法:escape,eval,iinite,isNaN,parseFloat,parseInt,unescape;

þ  例子:

g)  *Math:是一個內部物件,提供基本數學函式和常數。

þ  屬性:E,LN2,LN10,LOG2E,LOG10E,PI,SQRT1_2,SQRT2;

þ  方法:靜態方法(abs,acos,asin,atan,atan2,ceil,cos,exp,floor,log,max,min,pow,random,round,sin,sqrt,tan);

þ  例子:

h)  Number:代表數值資料型別和提供數值常數的物件。

þ  屬性:MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,constructor,prototype;

þ  方法:toString,valueOf,toLocaleString;

þ  例子:

i)  Object:提供所有JScript物件通用的功能。

þ  屬性:constructor,prototype;

þ  方法:toString,valueOf,toLocaleString;

þ  例子:

j)  RegExp:儲存有關正規表示式匹配資訊的固有全域性物件。

þ  屬性:$1...$9,index,input,lastIndex;

þ  方法:無;

þ  例子:

k)  *String:可用於處理或格式化文字字串以及確定和定位字串中的子字串。

þ  屬性:constructor,prototype,length;

þ  方法:anchor,big,blink,bold,charAt,charCodeAt,concat,fixed,fontcolor,fontsize,fromCharCode,indexOf,italics,lastIndexOf,link,match,replace,search,slice,small,split,strike,sub,substr,substring,sup,toLowerCase,toUpperCase,toString,valueOf;;

þ  例子:

注:*為頁面中常用的內建物件。

建立自己的物件:

//----------------------------例子1-----------------------------------------

function Circle (xPoint, yPoint, ) {

  this.x = xPoint;  // 圓心的 x 座標。

  this.y = yPoint;  // 圓心的 y 座標。

  this.r = radius;  // 圓的半徑。

  this.pi=Math.PI;

  Circle.prototype.area=function(){

  return this.pi * this.r * this.r;

  }

}

function window_onload() {

  var aCircle = new Circle(12,12,2);

  alert(aCircle.area());

}

//----------------------------例子2-----------------------------------------

Object.prototype.x=0;

Object.prototype.y=0;

Object.prototype.r=1;

Object.prototype.pi=Math.PI;

Object.prototype.area=function(){

  return this.pi * this.r * this.r;

}

Object.prototype.Create=function(xPoint,yPoint,radius){

  this.x = xPoint;  // 圓心的 x 座標。

    this.y = yPoint;  // 圓心的 y 座標。

    this.r = radius;  // 圓的半徑。

}

function window_onload() {

  var aCircle = new Object();

  aCircle.Create(12,12,2);

  alert(aCircle.area());

}


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-998912/,如需轉載,請註明出處,否則將追究法律責任。

相關文章