javascript專(zhuān)題javascript面向?qū)ο笊蟔第1頁(yè)
javascript專(zhuān)題javascript面向?qū)ο笊蟔第2頁(yè)
javascript專(zhuān)題javascript面向?qū)ο笊蟔第3頁(yè)
javascript專(zhuān)題javascript面向?qū)ο笊蟔第4頁(yè)
javascript專(zhuān)題javascript面向?qū)ο笊蟔第5頁(yè)
資源描述:

《javascript專(zhuān)題javascript面向?qū)ο笊稀酚蓵?huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、JavaScript專(zhuān)題—JavaScript面向?qū)ο笊辖籌TCAST簽約講師本講概述通過(guò)本講的學(xué)習(xí)你將學(xué)到:JS中的對(duì)象JS中繼承對(duì)象成員window對(duì)象作用域鏈引言在Java語(yǔ)言中有一句非常著名的話EverythingisObject。在JS中也是一樣,所有的東西都是對(duì)象。對(duì)象是一切的基礎(chǔ),在本講中首先給大家介紹下什么是對(duì)象。JS中的對(duì)象對(duì)象就是包含一組變量和函數(shù)的集合實(shí)例。通常對(duì)象由類(lèi)派生而來(lái),而類(lèi)定義了對(duì)象擁有的屬性和方法。如果你的腳本都是對(duì)象之間的交互操作那么就可以說(shuō)這個(gè)腳本是面向?qū)ο蟮哪_本。JavaScript是一種基于原型(

2、prototype)的面向?qū)ο蟮恼Z(yǔ)言,沒(méi)有類(lèi)的概念,所有的一切都派生自現(xiàn)有對(duì)象的一個(gè)副本。JavaScript中的對(duì)象分為以下2類(lèi):Function對(duì)象,例如alert()函數(shù)可以使用參數(shù)改變此類(lèi)對(duì)象的功能如alert(“abc”)Object對(duì)象,這類(lèi)對(duì)象無(wú)法像Function類(lèi)對(duì)象那樣調(diào)用,而且具有固定的功能。如:varobj=newObject();obj(“abc”);//會(huì)報(bào)錯(cuò),因?yàn)閛bj不是Function類(lèi)型的對(duì)象Function類(lèi)型對(duì)象也分為2類(lèi):Function實(shí)例,例如alert(),可以使用參數(shù)來(lái)調(diào)用。做為構(gòu)造函數(shù)的F

3、unction,必須通過(guò)new關(guān)鍵字來(lái)進(jìn)行實(shí)例化。為了提高使用效率,JavaScript提供了下列內(nèi)置對(duì)象。Object是通用基礎(chǔ)對(duì)象,可以使用它來(lái)創(chuàng)建簡(jiǎn)單的靜態(tài)對(duì)象。其簡(jiǎn)寫(xiě)是{}。Function是被所有使用參數(shù)的對(duì)象復(fù)制的對(duì)象,也是在腳本中定義函數(shù)時(shí)所創(chuàng)建的對(duì)象,其簡(jiǎn)寫(xiě)是function(){}。Array是一種特殊的屬性和方法的集合,比如使用它的length屬性可以迭代操作這類(lèi)對(duì)象,使用方括號(hào)加序號(hào)也可以訪問(wèn)它的屬性。其簡(jiǎn)寫(xiě)是[]。String、Boolean、Number分別用來(lái)表示字符串、布爾值、數(shù)字。除此之外還有Math、Dat

4、e、RegExp及其他內(nèi)置對(duì)象。所有的內(nèi)置對(duì)象都可以通過(guò)new關(guān)鍵字或其簡(jiǎn)單語(yǔ)法形式來(lái)建對(duì)象。如:varobj=newObject();等同于varobj={};vararry=newArray();等同于vararry=[];其他的就不做舉例了繼承繼承是面向?qū)ο笾兄匾慕M成部分。當(dāng)創(chuàng)建自己的對(duì)象時(shí)你可以擴(kuò)展或繼承現(xiàn)有對(duì)象的屬性和方法。繼承為重用對(duì)象提供了便捷的途徑,這樣你就可以把精力完全集中于新的改進(jìn)代碼中。與傳統(tǒng)的面向?qū)ο笳Z(yǔ)言不同,JavaScript是基于原型的面向?qū)ο筮@就導(dǎo)致無(wú)法從一個(gè)類(lèi)擴(kuò)展出另一個(gè)類(lèi)的底層類(lèi)結(jié)構(gòu)。在JS中繼承是通過(guò)

5、簡(jiǎn)單的從一個(gè)對(duì)象原型向另一個(gè)對(duì)象原型復(fù)制方法而實(shí)現(xiàn)的。functioninit(){varperson={};//等同于varperson=newObject();person.getName=function(){alert("personname");};person.getAge=function(){alert("personage");};//創(chuàng)建另一個(gè)對(duì)象varstudent={};student.getStuNum=function(){alert("studentstuNum");};//創(chuàng)建其本身的方法student.ge

6、tName=person.getName;person.getName=function(){alert("person1name");};student.getAge=person.getAge;student.getName();person.getName();}對(duì)象是什么?數(shù)組的兩種實(shí)現(xiàn)方案順序數(shù)組、散列數(shù)組(key,value)對(duì)象=關(guān)聯(lián)數(shù)組=屬性包=存儲(chǔ)體對(duì)象只有成員訪問(wèn)操作原型/對(duì)象屬性包原型只存在于function中,它實(shí)質(zhì)就是一個(gè)對(duì)象被創(chuàng)建后引擎默認(rèn)創(chuàng)建一個(gè)空的prototype對(duì)象,既然對(duì)象是屬性包那么原型也就是一個(gè)屬性

7、包。原型中讀的時(shí)候從原型鏈上讀,寫(xiě)的時(shí)候往自己里面寫(xiě)。functionObect2(){}functionObject3(){}Object3.prototype=newObject2();Object.propertype.foo=…aObj=newObject3();aObj.foo()Object2.prototype.foo=…aObj.foo();對(duì)象成員你已經(jīng)理解了一些簡(jiǎn)單的老函數(shù)如alert(),但是當(dāng)你使用document的body屬性或者document的getElementById()方法時(shí),你時(shí)在訪問(wèn)document對(duì)

8、象的一個(gè)成員。以上屬性和方法都被稱(chēng)為對(duì)象的成員,因?yàn)樗麄兌紡膶儆诟笇?duì)象,這個(gè)父對(duì)象就是上面例子中的document。其中body時(shí)屬性getElementById是方法。實(shí)際上屬

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。