您好,登錄后才能下訂單哦!
這篇文章給大家介紹JavaScript中怎么創(chuàng)建一個高級對象,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
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()這樣的預定義的構(gòu)造函數(shù)來創(chuàng)建對象并對其初始化。
面向?qū)ο蟮木幊唐鋸娪辛Φ奶卣魇嵌x自定義構(gòu)造函數(shù)以創(chuàng)建腳本中使用的自定義對象的能力。
創(chuàng)建了自定義的構(gòu)造函數(shù),這樣就可以創(chuàng)建具有已定義屬性的對象。
下面是自定義函數(shù)的示例(注意this關(guān)鍵字的使用)。
functionCircle(xPoint,yPoint,radius){ this.x=xPoint;//圓心的x坐標。 this.y=yPoint;//圓心的y坐標。 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ù)和屬性,可以在一個對象中更改原型屬性的值,新的值將覆蓋默認值,但僅在該實例中有效。屬于這個類的其他對象不受此更改的影響。
下面給出了使用自定義構(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() { //用正則表達式將前后空格 //用空字符串替代。 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; }
關(guān)于JavaScript中怎么創(chuàng)建一個高級對象就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。