JavaScript創(chuàng)建高級(jí)對(duì)象具體步驟
你對(duì)JavaScript創(chuàng)建高級(jí)對(duì)象的方法是否了解,這里通過(guò)實(shí)例向大家描述一下,相信本文介紹一定會(huì)讓你有所收獲。
JavaScript創(chuàng)建高級(jí)對(duì)象
1)使用構(gòu)造函數(shù)創(chuàng)建對(duì)象的實(shí)例
在JAVASCRIPT中構(gòu)造函數(shù)和其它面向?qū)ο蟮恼Z(yǔ)言一樣,不可以直接調(diào)用,在用new關(guān)鍵字創(chuàng)建一個(gè)對(duì)象時(shí)自動(dòng)的調(diào)用.
以下是JAVASCRIPT中使用構(gòu)造函數(shù)的新示例。
- varmyObject=newObject();//創(chuàng)建沒(méi)有屬性的通用對(duì)象。
- varmyBirthday=newDate(1961,5,10);//創(chuàng)建一個(gè)Date對(duì)象。
- varmyCar=newCar();//創(chuàng)建一個(gè)用戶(hù)定義的對(duì)象,并初始化其屬性。
編寫(xiě)構(gòu)造函數(shù)
可以使用new運(yùn)算符結(jié)合像Object()、Date()和Function()這樣的預(yù)定義的構(gòu)造函數(shù)來(lái)創(chuàng)建對(duì)象并對(duì)其初始化。
面向?qū)ο蟮木幊唐鋸?qiáng)有力的特征是定義自定義構(gòu)造函數(shù)以創(chuàng)建腳本中使用的自定義對(duì)象的能力。
創(chuàng)建了自定義的構(gòu)造函數(shù),這樣就可以創(chuàng)建具有已定義屬性的對(duì)象。
下面是自定義函數(shù)的示例(注意this關(guān)鍵字的使用)。
- functionCircle(xPoint,yPoint,radius){
- this.x=xPoint;//圓心的x坐標(biāo)。
- this.y=yPoint;//圓心的y坐標(biāo)。
- this.r=radius;//圓的半徑。
- }
調(diào)用Circle構(gòu)造函數(shù)時(shí),給出圓心點(diǎn)的值和圓的半徑(所有這些元素是完全定義一個(gè)獨(dú)特的圓對(duì)象所必需的)。
結(jié)束時(shí)Circle對(duì)象包含三個(gè)屬性。下面是如何例示Circle對(duì)象。
varaCircle=newCircle(5,11,99);
2)使用原型來(lái)創(chuàng)建對(duì)象
在JAVASCRIPT中可以采用prototype關(guān)鍵字來(lái)為對(duì)象創(chuàng)新成員函數(shù)和屬性,可以在一個(gè)對(duì)象中更改原型屬性的值,新的值將覆蓋默認(rèn)值,但僅在該實(shí)例中有效。屬于這個(gè)類(lèi)的其他對(duì)象不受此更改的影響。
下面給出了使用自定義構(gòu)造函數(shù)的示例,Circle(注意this關(guān)鍵字的使用)。
- Circle.prototype.pi=Math.PI;
- functionACirclesArea(){
- returnthis.pi*this.r*this.r;//計(jì)算圓面積的公式為?r2。
- }
- Circle.prototype.area=ACirclesArea;
- //計(jì)算圓面積的函數(shù)現(xiàn)在是CirclePrototype對(duì)象的一個(gè)方法。
- vara=ACircle.area();//此為如何在Circle對(duì)象上調(diào)用面積函數(shù)。
下面的示例是String對(duì)象中采用原型來(lái)定義的一個(gè)實(shí)例方法.
- //增加一個(gè)名為trim的函數(shù)作為
- //String構(gòu)造函數(shù)的原型對(duì)象的一個(gè)方法。
- String.prototype.trim=function()
- {
- //用正則表達(dá)式將前后空格
- //用空字符串替代。
- returnthis.replace(/(^s*) (s*$)/g,"");
- }
- //有空格的字符串
- vars="leadingandtrailingspaces";
- //顯示"leadingandtrailingspaces(35)"
- window.alert(s+"("+s.length+")");
- //刪除前后空格
- ss=s.trim();
- //顯示"leadingandtrailingspaces(27)"
- window.alert(s+"("+s.length+")");
3)定義類(lèi)的靜態(tài)成員
在JAVASCRIPT中定義類(lèi)的靜態(tài)成員可以直接如此定義
例如我如果要在類(lèi)中定義一個(gè)靜態(tài)方法以便返回類(lèi)的實(shí)例.
可以先定一個(gè)createNew將一個(gè)方法對(duì)象附給它:
SplitterBar.createNew=_createnew;
以下是方法的實(shí)例:
- function_cretaenew()
- {
- varbar=newSplitterBar();
- returnbar;
- }
【編輯推薦】
- 詳細(xì)說(shuō)明Javascript匿名函數(shù)技巧與文章
- JavaScript函數(shù)的定義及形式參數(shù)
- C#代碼與JavaScript函數(shù)的相互調(diào)用
- JavaScript函數(shù)中arguments對(duì)象
- Javascript中CSS屬性float特殊寫(xiě)法