国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > JS > 正文

淺談JavaScript中面向?qū)ο蠹夹g(shù)的模擬

2024-09-06 12:44:50
字體:
供稿:網(wǎng)友
一、引言
  在C#和Java語言中,面向?qū)ο笫且灶惖姆绞綄?shí)現(xiàn)的,特別是繼承這個(gè)特性,類的方式繼承表現(xiàn)出了強(qiáng)大的功能,而且也易于學(xué)習(xí)。JavaScript不是純的面向?qū)ο蟮恼Z言,而是基于對(duì)象的語言,對(duì)象的繼承是以原型函數(shù)的形式繼承的,很多初學(xué)者剛開始接觸的時(shí)候不太理解,但是JavaScript這種以原型函數(shù)的形式實(shí)現(xiàn)面向?qū)ο蠹夹g(shù),不僅是可行的,而且還為面向?qū)ο蠹夹g(shù)提供了動(dòng)態(tài)繼承的功能,本文主要討論了JavaScript的面向?qū)ο蠹夹g(shù)。
二、原型對(duì)象概述
  每個(gè)JavaScript對(duì)象都有原型對(duì)象,對(duì)象都繼承原型對(duì)象的所有屬性。一個(gè)對(duì)象的原型是由創(chuàng)建該對(duì)象的構(gòu)造函數(shù)定義的。JavaScript的所有函數(shù)都有一個(gè)名為prototype的屬性,該屬性引用了原型對(duì)象,該原型對(duì)象初始化的時(shí)候只有constructor屬性來引用創(chuàng)建該原型對(duì)象的對(duì)象。JavaScript沒有Class定義類的概念,構(gòu)造函數(shù)就定義了類,并初始化類中的屬性,每個(gè)類的成員都會(huì)從原型對(duì)象中繼承相同的屬性,也就是說,原型對(duì)象提供了類的實(shí)例共享的屬性和方法,這就節(jié)約了內(nèi)存。
  當(dāng)讀取一個(gè)對(duì)象的屬性的時(shí)候,JavaScript會(huì)先從對(duì)象中查找,如果沒有查找到,才會(huì)到原型對(duì)象中查找該屬性(或方法),所以,尤其是對(duì)于方法,最好保存到原型對(duì)象中以便于共享,并且達(dá)到節(jié)省內(nèi)存的目的,而且原型對(duì)象還有一個(gè)強(qiáng)大的功能,那就是如果通過構(gòu)造函數(shù)實(shí)例化一些對(duì)象后,再給構(gòu)造函數(shù)的原型對(duì)象增加屬性和方法,那么它原來實(shí)例化的對(duì)象實(shí)例將會(huì)繼承這些增加的屬性和方法。
三、對(duì)象屬性、對(duì)象方法、類屬性、類方法
  每個(gè)對(duì)象都會(huì)有自己單獨(dú)的實(shí)例屬性和實(shí)例方法的副本,如果實(shí)例化5個(gè)對(duì)象,那么就會(huì)有5個(gè)對(duì)象的實(shí)例屬性和實(shí)例方法副本。This關(guān)鍵字引用它們的實(shí)例對(duì)象,也就是說,誰操作了實(shí)例方法,this就引用誰;訪問了哪個(gè)實(shí)例對(duì)象的屬性,this就引用這個(gè)實(shí)例對(duì)象。
  類方法和類屬性只有一個(gè)副本,類方法調(diào)用的時(shí)候必須引用類的名字,例如:Date.setHours();
  下面用一個(gè)程序來表現(xiàn)實(shí)例屬性、實(shí)例方法、類屬性、類方法
代碼如下:
 function Mobile(kind,brand) {
      this.kind=kind;//定義手機(jī)的種類,例如GSM/CDMA
      this.brand=brand;//定義手機(jī)的品牌,this關(guān)鍵字表示用該構(gòu)造函數(shù)實(shí)例化之后的對(duì)象
  }
  
  /**//*
   定義類的第二步是在構(gòu)造函數(shù)的原型對(duì)象中定義它的實(shí)例方法或其他屬性
   該對(duì)象定義的任何屬性都將這個(gè)類的所有實(shí)例繼承。
   
   */
   //撥號(hào),這里只是返回電話號(hào)碼
  Mobile.prototype.dial = function(phoneNo) {
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 万宁市| 东源县| 邮箱| 睢宁县| 蒙自县| 沈丘县| 诸城市| 左权县| 罗山县| 贵阳市| 盖州市| 桐庐县| 唐河县| 安康市| 开鲁县| 武功县| 区。| 普宁市| 德惠市| 湘潭市| 北宁市| 新野县| 呈贡县| 开封市| 乌审旗| 无锡市| 饶平县| 昌宁县| 寿阳县| 四川省| 昂仁县| 徐汇区| 高要市| 白朗县| 新田县| 巫山县| 中卫市| 东光县| 金溪县| 土默特右旗| 华亭县|