什么是對(duì)象
我們先來看高程三中是如何對(duì)對(duì)象進(jìn)行定義的
"無序?qū)傩缘募?,其屬性可以包括基本值、?duì)象或者函數(shù)",對(duì)象是一組沒有特定順序的的值。對(duì)象的沒個(gè)屬性或方法都有一個(gè)俄名字,每個(gè)名字都映射到一個(gè)值。
簡(jiǎn)單來理解對(duì)象就是由屬性和方法來組成的
面向?qū)ο蟮奶攸c(diǎn)
-封裝
對(duì)于一些功能相同或者相似的代碼,我們可以放到一個(gè)函數(shù)中去,多次用到此功能時(shí),我們只需要調(diào)用即可,無需多次重寫。
在這里我們可以理解為創(chuàng)造對(duì)象的幾種模式:?jiǎn)卫J?,工廠模式,構(gòu)造函數(shù)模式,原型模式等。
繼承
子類可以繼承父類的屬性和方法
多態(tài)(重載和重寫)
重載:嚴(yán)格意義上說js中沒有重載的功能,不過我們可以通過判斷函數(shù)的參數(shù)的不同來實(shí)現(xiàn)不同的功能來模擬重載。
重寫:子類可以改寫父類的屬性和方法
javascript中的封裝
單例模式
小王在一個(gè)小公司,就自己一個(gè)前端,所以他寫js都是這樣的
var a = 1;function getNum(){ return 1; }
后來公司又招了個(gè)前端小明,于是變成他們2個(gè)一起寫同一個(gè)js了。一天小王發(fā)現(xiàn)自己寫的getNum方法出問題了,原來是小華寫的js中也有個(gè)getNum的函數(shù),代碼合并后把他的覆蓋掉了,于是便找小華理論去,經(jīng)過一番妥協(xié)后,兩人都把自己的代碼改了改
var xiaoming = { num:1, getNum:function(){ return 1; } }var xiaohua = { num:2, getNum: function(){ return 2; } }
這就是我們