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