面向?qū)ο蠡A(chǔ)
原創(chuàng)文章床蜘,轉(zhuǎn)載請注明來自JillYu博客-
http://write.blog.csdn.net/postlist
建議先下載對應(yīng)的代碼:
https://coding.net/u/Jill/p/dankal-jill/git
1项棠、什么是面向?qū)ο缶幊蹋?1)
- 用對象的思想去寫代碼袜硫,就是面向?qū)ο缶幊?br>
- 過程式寫法
- 面向?qū)ο髮懛?/li> - 我們一直都在使用對象
-數(shù)組Array 時間Date
2拄丰、面向?qū)ο缶幊?OOP)的特點
- 抽象:抓住核心問題
- 封裝:只能通過對象來訪問方法
- 繼承:從已有對象上繼承出新的對象
- 多態(tài):多對象的不同形態(tài)
3、對象的組成(02)
- 方法(行為讨阻、操作)——函數(shù):過程、動態(tài)的
- 屬性——變量:狀態(tài)篡殷、靜態(tài)的
4钝吮、創(chuàng)建第一個面向?qū)ο蟪绦颍?3)
- 為對象添加屬性和方法
-Object對象
-this指向
-創(chuàng)建兩個對象:重復代碼過多
5、工廠方式(04-07)
- 面向?qū)ο笾械姆庋b函數(shù)
- 改成與系統(tǒng)對象類似寫法
-首字母大寫
-new關(guān)鍵字提取
-this指向為新創(chuàng)建的對象 - 構(gòu)造函數(shù)
-用來創(chuàng)建對象的函數(shù)板辽,叫做構(gòu)造函數(shù)(new后面調(diào)用的函數(shù)) - 存在的問題
-對象的引用
-浪費內(nèi)存
6奇瘦、原型-prototype(07-08)
- 概念
-重寫對象方法,讓相同方法在內(nèi)存中存在一份(提高性能) - 學習原型
- 類比:css中的class - 通過原型改寫工廠方式
- 原則
a劲弦、相同的屬性和方法可以加載在原型上
b耳标、混合的編程模式 - 總結(jié)面向?qū)ο髮懛?br> -構(gòu)造函數(shù)加屬性,原型加方法
<script>
function 構(gòu)造函數(shù)() {
對象.屬性
}
構(gòu)造函數(shù).原型.方法 = function(){};
//使用
var 對象1 = new 構(gòu)造函數(shù)();
對象1.方法();
</script>
栗子(09-12)
- 面向?qū)ο蟮倪x項卡
原則
-先寫出普通的寫法邑跪,然后改成面向?qū)ο髮懛?br> a次坡、普通方法變型
b、盡量不要出現(xiàn)函數(shù)嵌套函數(shù)
c呀袱、 可以有全局變量
-改成面相對象
a贸毕、全局變量就是屬性
b、函數(shù)就是方法
c夜赵、onload中創(chuàng)建對象
d、改this指向問題 - 面向?qū)ο蟮耐献?br>
同上
注意event