JavaScript專題JavaScript面向?qū)ο笊?ppt
《JavaScript專題JavaScript面向?qū)ο笊?ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《JavaScript專題JavaScript面向?qū)ο笊?ppt(17頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
JavaScript專題 JavaScript面向?qū)ο笊?姜昊 ITCAST簽約講師 本講概述 通過本講的學(xué)習(xí)你將學(xué)到 JS中的對(duì)象JS中繼承對(duì)象成員window對(duì)象作用域鏈 引言 在Java語言中有一句非常著名的話EverythingisObject 在JS中也是一樣 所有的東西都是對(duì)象 對(duì)象是一切的基礎(chǔ) 在本講中首先給大家介紹下什么是對(duì)象 JS中的對(duì)象 對(duì)象就是包含一組變量和函數(shù)的集合實(shí)例 通常對(duì)象由類派生而來 而類定義了對(duì)象擁有的屬性和方法 如果你的腳本都是對(duì)象之間的交互操作那么就可以說這個(gè)腳本是面向?qū)ο蟮哪_本 JavaScript是一種基于原型 prototype 的面向?qū)ο蟮恼Z言 沒有類的概念 所有的一切都派生自現(xiàn)有對(duì)象的一個(gè)副本 JavaScript中的對(duì)象分為以下2類 Function對(duì)象 例如alert 函數(shù)可以使用參數(shù)改變此類對(duì)象的功能如alert abc Object對(duì)象 這類對(duì)象無法像Function類對(duì)象那樣調(diào)用 而且具有固定的功能 如 varobj newObject obj abc 會(huì)報(bào)錯(cuò) 因?yàn)閛bj不是Function類型的對(duì)象Function類型對(duì)象也分為2類 Function實(shí)例 例如alert 可以使用參數(shù)來調(diào)用 做為構(gòu)造函數(shù)的Function 必須通過new關(guān)鍵字來進(jìn)行實(shí)例化 為了提高使用效率 JavaScript提供了下列內(nèi)置對(duì)象 Object是通用基礎(chǔ)對(duì)象 可以使用它來創(chuàng)建簡(jiǎn)單的靜態(tài)對(duì)象 其簡(jiǎn)寫是 Function是被所有使用參數(shù)的對(duì)象復(fù)制的對(duì)象 也是在腳本中定義函數(shù)時(shí)所創(chuàng)建的對(duì)象 其簡(jiǎn)寫是function Array是一種特殊的屬性和方法的集合 比如使用它的length屬性可以迭代操作這類對(duì)象 使用方括號(hào)加序號(hào)也可以訪問它的屬性 其簡(jiǎn)寫是 String Boolean Number分別用來表示字符串 布爾值 數(shù)字 除此之外還有Math Date RegExp及其他內(nèi)置對(duì)象 所有的內(nèi)置對(duì)象都可以通過new關(guān)鍵字或其簡(jiǎn)單語法形式來建對(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言不同 JavaScript是基于原型的面向?qū)ο筮@就導(dǎo)致無法從一個(gè)類擴(kuò)展出另一個(gè)類的底層類結(jié)構(gòu) 在JS中繼承是通過簡(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 getName 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ì)象只有成員訪問操作 原型 對(duì)象屬性包 原型只存在于function中 它實(shí)質(zhì)就是一個(gè)對(duì)象被創(chuàng)建后引擎默認(rèn)創(chuàng)建一個(gè)空的prototype對(duì)象 既然對(duì)象是屬性包那么原型也就是一個(gè)屬性包 原型中讀的時(shí)候從原型鏈上讀 寫的時(shí)候往自己里面寫 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í)在訪問document對(duì)象的一個(gè)成員 以上屬性和方法都被稱為對(duì)象的成員 因?yàn)樗麄兌紡膶儆诟笇?duì)象 這個(gè)父對(duì)象就是上面例子中的document 其中body時(shí)屬性getElementById是方法 實(shí)際上屬性自身只是一個(gè)Object對(duì)象或擴(kuò)展自O(shè)bject對(duì)象的實(shí)例 方法也擴(kuò)展自O(shè)bject對(duì)象但是它可以接收屬性所以他是Function對(duì)象的實(shí)例 還有就是方法可以有返回值 請(qǐng)看下例子 window對(duì)象 我們寫的大部分方法都是隸屬于window對(duì)象的 在下面的例子中 functionmyFunction message alert message 該方法實(shí)際上都是全局window的對(duì)象方法 所以myFunction aaa 等同于window myFunction aaa 覆蓋作用域鏈中的對(duì)象 functionoverride varalert function message window alert override message alert alert window alert window alert override alert alertfromoutside 小結(jié) 通過本講的學(xué)習(xí)你應(yīng)該已經(jīng)掌握了JS中的對(duì)象JS中的繼承根據(jù)繼承原理引出原型對(duì)象成員window對(duì)象作用域鏈下一講將介紹如何創(chuàng)建自己的對(duì)象 謝謝- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- JavaScript 專題 面向 對(duì)象
鏈接地址:http://m.appdesigncorp.com/p-6358562.html