第八講:面向?qū)ο蠡A_第1頁
第八講:面向?qū)ο蠡A_第2頁
第八講:面向?qū)ο蠡A_第3頁
第八講:面向?qū)ο蠡A_第4頁
第八講:面向?qū)ο蠡A_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、面向?qū)ο笮g語 對象應用 JavaScript的對象層次 事件驅(qū)動與事件處理 面向過程:面向結(jié)構(gòu)的設計方法中最經(jīng)典的一句話是“自頂向下,逐步細化” 面向?qū)ο蟮奶匦苑庋b,此特性可隱藏對象內(nèi)部的實現(xiàn)細節(jié),對外提供一致的訪問接口 。聚合,將多個對象組合起來,實現(xiàn)更復雜的功能。 繼承,簡單的代碼復用機制,使子類擁有父類的特性。 多態(tài) ,以一致的方式使用不同的實現(xiàn),實現(xiàn)接口不變性。 屬性:屬性描述了對象的狀態(tài) 。方法 :是對象具有可實施的動作 。嚴格的講,JavaScript不是一種面向?qū)ο蟮恼Z言,因為它沒有提供面向?qū)ο笳Z言所具有的一些明顯特征,例如繼承和多態(tài)。因此,JavaScript設計者把它稱為“基

2、于對象”,而不是“面向?qū)ο蟆钡恼Z言。 聲明和實例化 (new)JavaScript中沒有類的概念,創(chuàng)建一個對象只要定義一個該對象的構(gòu)造函數(shù)并通過它創(chuàng)建對象即可 。演示:創(chuàng)建一個Card(名片)對象,每個對象又有這些屬性:name(名字)、address(地址)、phone(電話)。 代碼貼于下文:用于輸出卡片上的信息 01function Card( _name, _address, _phone )/ 定義構(gòu)造函數(shù)定義構(gòu)造函數(shù)0203=_name;/ 初始化初始化“名字名字”屬性屬性04this.address=_address;/ 初始化初始化“地址地址”屬性屬性05th

3、is.phone=_phone;/ 初始化初始化“電話電話”屬性屬性06名片對象的構(gòu)造函數(shù)名片對象的構(gòu)造函數(shù)01function printCard()/打印信息打印信息0203line1=Name:++n;/ 讀取讀取name04line2=Address:+this.address+n;/ 讀取讀取address05line3=Phone:+this.phone+n/ 讀取讀取phone06document.writeln(line1,line2,line3);07修改Card對象,在Card對象中添加printCard函數(shù)的引用。 01function Card(nam

4、e,address,phone)/ 構(gòu)造函數(shù)構(gòu)造函數(shù)02 03=name;/ 初始化初始化name、address、phone04this.address=address;05this.phone=phone;06this.printCard=printCard;/ 創(chuàng)建創(chuàng)建printCard函數(shù)的定義函數(shù)的定義07實例化對象實例化對象 01Tom=new Card( Tom, BeiJingRoad 123, 0851-12355 );/ 創(chuàng)建名片創(chuàng)建名片02Tom.printCard();/ 輸出名片信息輸出名片信息對象的引用 :JavaScript中對象存活的依據(jù)。對象

5、的廢除 Null必須把對象的所有引用都設為null,對象才會被清除 對象的早綁定和晚綁定 早綁定也就是靜態(tài)綁定,也稱為編譯時聯(lián)編。像C+這樣的靜態(tài)語言,它的多態(tài)表現(xiàn)在兩方面,重載機制是靜態(tài)多態(tài),也就是編譯時多態(tài)。 晚綁定也就是動態(tài)綁定,類型在運行時才能確定,一般動態(tài)語言都具有這樣的特征。 JavaScript包含幾大部分包括語言核心:變量常量、運算符、表達式、數(shù)據(jù)類型、控制語句等 ?;镜膬?nèi)置對象:String、Date、Math等 。瀏覽器對象:window、Navigator、Location等 。文檔對象 :Document、Form、Image等。 客戶端對象層次圖 “發(fā)生處理” 模式

6、Web頁中存在很多“發(fā)生處理”這樣的關系,比如一個文本框突然沒有了焦點或字符數(shù)量改變了,當發(fā)些事件時系統(tǒng)就調(diào)用監(jiān)聽這些事件的函數(shù)。如此,整個系統(tǒng)可以使用事件的發(fā)生來驅(qū)動運作,這就是所謂的事件驅(qū)動。 事件應用演示:響應編輯框的“onkeyup”事件,當用戶按回車鍵時將文本框中的內(nèi)容顯示在對話框中 。事件示例 010203范例范例8-4 04 / 腳本程序開始腳本程序開始05function OnKeyUp(_e)/ 釋放按鍵事件處理程序釋放按鍵事件處理程序06 07var e = _e?_e:window.event;/ 獲取有效的事件對象獲取有效的事件對象08if( event.keyCode = 13 )/ 按下的是否是回車鍵按下的是否是回車鍵0910alert( 您輸入

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論