日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
怎樣用Javascript定義一個類

其實Javascript中沒有類這個定義,但是有類這個概念。很多人都寫過這樣的代碼,對,沒錯,就是如下代碼,清晰的不能再清晰了,就是一個關(guān)鍵字 function,然后定義一個方法名,方法名后緊跟一對括號。如果你在項目中寫過這樣的代碼,那么祝賀你,你可以不費任何吹毛之力,就能一口氣讀完這篇博文了。

目前創(chuàng)新互聯(lián)公司已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管運營、企業(yè)網(wǎng)站設(shè)計、貴德網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

 
 
 
  1. function Print() {  
  2.      ……  
  3.  } 

當(dāng)我們在寫c#代碼,焦頭爛額,無從下手的時候,至少我們還是可以厚著臉皮在老板的面前,敲出華麗的 class ***{},是的,沒錯,就這幾個字符。殊不知這這幾個字符體現(xiàn)出來的境界。說淺些,我會敲鍵盤寫代碼,說深些,我有可能理解了面向?qū)ο蟮木幊?,至少我會定義一個類。是這樣的,c#中定義一個類是用class。

有一天,老板變態(tài)了,讓我用Javascript來定義一個類,我無從下手呀,我平時都是用$("."),$("#")的人物呀,思考良久,我還模糊的記的document.getElementById("")這個東西,但是好像與Javascript的類扯不上關(guān)系呀。怎么辦?問了google問百度啊,***在一個角落,找到了定義Javascript類的E文。仔細(xì)一閱,難道這是一個坑嗎?明明用function定義了一個方法,活生生的把它說成一個類,反復(fù)幾次Google百度后,有點懷疑了,難道Javascript中定義一個類,真的是用function?其實沒錯,在Javascript中,定義一個類是用fucntion() ***{}。不管是在學(xué)校的菜鳥,還是國外的***程序員,在這件事上是平等的,想定義一個Javascript的類,就必須得先敲下function ***(){}。

在定義Javascript類上,表現(xiàn)形勢上大家雖然是平等的,都是用function ***(){}。但實質(zhì)上,確是蘊含著大量的學(xué)問。也許有些朋友到目前為止,是不是感覺我說的太簡單了,那我們就在這個function上玩點花樣。

 
 
 
  1. function Dog(category, name, age) {  
  2.     this.Category = category;  
  3.     this.Name = name;  
  4.     this.Age = age;  

一個Javascript類就這樣定義完成了,現(xiàn)在就可以自豪的說,我會面向?qū)ο蟮氖址ň幎↗avascript代碼了。

類定義好了,那我們怎么樣來用這個類呢?其實用法和C#的用法很像。

 
 
 
  1. var dog01 = new Dog("狗類", "土狗", 2);  
  2. var dog02 = new Dog("狗類", "黃狗", 5); 

有些朋友要拍磚了,這么簡單的東西,都拿出來說,那我們不妨再來進階一下。我上邊的代碼,實例化了兩個對象,一個是dog01,dog01下邊那個是dog02。因為dog01的Cateogry太口語化了,我要修改為dog01.Categry = '犬類',這樣聽起來是不是舒服多了,這是一個很簡單的事,我們僅僅需要為dog01的Cateogry重賦值就可以了。我們修改了dog01的Cateory, dog02的Category會跟著變嗎?答案是肯定的,不會變,如果有變,肯定有鬼。那我們有沒有方法讓dog01,dog02這些對象的Cateogry屬性共用起來呢?也就是說當(dāng)我修改了Category屬性,不管是dog01,還是dog02都跟一樣的變,我們不妨來這樣寫寫。

 
 
 
  1. function Dog(name,age) {  
  2.     this.Name = "";  
  3.     this.Age = "";  
  4. }  
  5. Dog.prototype.Category = "狗類";  
  6. var dog01 = new Dog("土狗",2);  
  7. var dog02 = new Dog("黃狗",5);  
  8. alert(dog01.Category);  
  9. alert(dog02.Category);  
  10. Dog.prototype.Category = "犬類";  
  11. alert(dog01.Category);  
  12. alert(dog02.Category); 

當(dāng)我們修改Dog.prototype.Category的時候,dog01,dog02的屬性都跟著神奇的變了。是不是有點類似于C#中的static。

當(dāng)你已經(jīng)耐心的看到這兒的時候,我相信對朝九晚五的寫$("."),$("#")的朋友指明了一個方向。如果我寫的這些你已經(jīng)知道了,你可以去看看阮一峰寫的 Javascript定義類的幾種方法:http://www.ruanyifeng.com/blog/2012/07/three_ways_to_define_a_javascript_class.html


網(wǎng)頁名稱:怎樣用Javascript定義一個類
文章轉(zhuǎn)載:http://www.dlmjj.cn/article/cdddpsg.html