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