



下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
實(shí)訓(xùn)案例名稱:理解JavaScript面向?qū)ο筇匦?.任務(wù)介紹定義一個(gè)Student類作為Person類的子類,在Student類中繼承父類的walk()方法、重新定義父類的sayHello()方法并添加Student類自己的sayGoodBye()方法。2.任務(wù)目標(biāo)理解JavaScript面向?qū)ο蟮乃拇筇匦圆⒄莆談?chuàng)建對(duì)象的方法。3.實(shí)現(xiàn)思路(1)選用構(gòu)造函數(shù)模式創(chuàng)建對(duì)象,并且將屬性為方法的屬性定義到函數(shù)之外。(2)全局變量是綁定在window對(duì)象上的,是window對(duì)象的屬性。4.實(shí)現(xiàn)代碼完整代碼如腳本4-5所示。腳本4-5.html<html><head><title>JavaScript面向?qū)ο筇匦?lt;/title></head><script>functionPerson(firstName){this.firstName=firstName;}Ptotype.walk=function(){console.log("Iamwalking!");};Ptotype.sayHello=function(){console.log("Hello,I'm"+this.firstName);};functionStudent(firstName,subject){Person.call(this,firstName);this.subject=subject;};Stotype=Object.create(Ptotype);Stotype.constructor=Student;Stotype.sayHello=function(){console.log("Hello,I'm"+this.firstName+".I'mstudying"+this.subject+".");};Stotype.sayGoodBye=function(){console.log("Goodbye!");};varstudent1=newStudent("Janet","AppliedPhysics");student1.sayHello();student1.walk();student1.sayGoodBye();console.log(student1instanceofPerson);console.log(student1instanceofStudent);</script></html>分析如下:(1)functionPerson(firstName){this.firstName=firstName;};首先定義父類Person構(gòu)造函數(shù)。(2)Ptotype.walk=function(){console.log("Iamwalking!");};通過(guò)父類Ptotype添加方法walk()。(3)Ptotype.sayHello=function(){console.log("Hello,I'm"+this.firstName);};通過(guò)父類Ptotype添加方法sayHello()。(4)functionStudent(firstName,subject){Person.call(this,firstName);this.subject=subject;};定義子類Student構(gòu)造函數(shù),在函數(shù)內(nèi)部通過(guò)call方法調(diào)用父類構(gòu)造器,最后初始化Student類特有屬性subject。(5)Stotype=Object.create(Ptotype);通過(guò)\o"/en-US/docs/JavaScript/Reference/Global_Objects/Object/create#Classical_inheritance_with_Object.create"Object.create方法來(lái)實(shí)現(xiàn)繼承。將父類Ptotype繼承給Stotype對(duì)象。(6)Stotype.constructor=Student;設(shè)置Stotype的"constructor"屬性指向Student。(7)Stotype.sayHello=function(){console.log("Hello,I'm"+this.firstName+".I'mstudying"+this.subject+".");};在子類中重寫父類的sayHello()方法。(8)Stotype.sayGoodBye=function(){console.log("Goodbye!");};在子類中增加自己獨(dú)有的sayGoodBye()方法。(9)varstudent1=newStudent("Janet","AppliedPhysics");student1.sayHello();student1.walk();student1.sayGoodBye();實(shí)例化子類并調(diào)用子類的sayHello()、walk()和sayGoodBye()方法。student1.sayHello()會(huì)打印出子類的sayHello()方法,這里子類對(duì)父類的sayHello()方法實(shí)現(xiàn)了重寫;student1.walk();會(huì)調(diào)用父類的walk()方法,這里子類對(duì)父類的walk()實(shí)現(xiàn)了繼承。(10)console.log(student1instanceofPerson)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)作物種子繁育員考試總復(fù)習(xí)試題及答案
- 模具設(shè)計(jì)師考試實(shí)戰(zhàn)指南試題及答案
- 2025年電工工具購(gòu)銷合同
- 2025品牌專賣店合同
- 2025勞動(dòng)合同書(shū)面范本
- 2024年農(nóng)業(yè)植保員學(xué)習(xí)筆記試題及答案
- 掌控全局 體育經(jīng)紀(jì)人試題及答案文件整合
- 2024年足球裁判員資格評(píng)測(cè)試題及答案
- 2024年籃球裁判員考試技戰(zhàn)術(shù)指導(dǎo)試題及答案
- 如何評(píng)估種子繁育員的能力測(cè)試試題及答案
- 二年級(jí)下冊(cè)科學(xué)教案 第三單元1.《春夏秋冬》 大象版
- 低壓電工安全培訓(xùn)課件-
- Oracle ERP系統(tǒng)建設(shè)實(shí)施方案
- TSG-R0005-2022《移動(dòng)式壓力容器安全技術(shù)監(jiān)察規(guī)程》(2022版)
- 廣東省教育廳關(guān)于規(guī)范化城市幼兒園的辦園標(biāo)準(zhǔn)
- 【推薦】大華“智慧消防”物聯(lián)網(wǎng)綜合管理解決方案
- 分層總和法計(jì)算地基沉降excel
- 2020 ACLS-PC-SA課前自我測(cè)試試題及答案
- 2022年CASEAR2簡(jiǎn)易操作手冊(cè)
- 中國(guó)墓葬文化(專業(yè)應(yīng)用)
- 中醫(yī)方劑學(xué)歌訣大全(最全收藏版)
評(píng)論
0/150
提交評(píng)論