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