什么是對象

我們先來看高程三中是如何對對象進(jìn)行定義的

"無序?qū)傩缘募?,其屬性可以包括基本值、對象或者函?shù)",對象是一組沒有特定順序的的值。對象的沒個屬性或方法都有一個俄名字,每個名字都映射到一個值。

簡單來理解對象就是由屬性和方法來組成的

面向?qū)ο蟮奶攸c

-封裝

對于一些功能相同或者相似的代碼,我們可以放到一個函數(shù)中去,多次用到此功能時,我們只需要調(diào)用即可,無需多次重寫。

在這里我們可以理解為創(chuàng)造對象的幾種模式:單例模式,工廠模式,構(gòu)造函數(shù)模式,原型模式等。

  • 繼承

    子類可以繼承父類的屬性和方法

  • 多態(tài)(重載和重寫)

    1. 重載:嚴(yán)格意義上說js中沒有重載的功能,不過我們可以通過判斷函數(shù)的參數(shù)的不同來實現(xiàn)不同的功能來模擬重載。

    2. 重寫:子類可以改寫父類的屬性和方法

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;
    }
}

這就是我們