JS高階系列 物件導向程式設計

2021-08-15 02:25:10 字數 1143 閱讀 1927

使用它所提供的介面而忽略其內部組成情況

js物件導向有三大特性:抽象、封裝、繼承

抽取這個物件的核心資料,不在特定條件下不知道是什麼

比如我如何描述乙個物件

抽取這個物件的核心資料:name,age,***……

function

person

(obj)

我知道這個物件有姓名,年齡,性別。但是在人未具體化之前我不知道他的姓名,年齡,性別具體是什麼,這就是抽象!

將資料和功能整合到一起

把過程封裝成方法,把方法和屬性封裝成物件

封裝成方法

比如我們實現乙個功能:計算兩個數的和

var a = 1;

var b = 2;

console.log(a+b);

但是我們可能要經常用到這個功能,於是我們把這段**封裝成方法

function

add(a,b)

add(1,3);

add(2,4);

這樣子做,方便方法的復用

封裝成物件

比如我們要寫乙個計算器,要實現很多運算的功能,於是我們把這些運算方法封裝成乙個計算器物件。

function

calcu

(); this.sub = function

(a,b)

}var cal = new calcu();

cal.add(1,3);

cal.sub(4,2);

這樣子做,方便物件的復用

自己沒有,別人有,拿過來自己用

js沒有明確的繼承語法,一般都是按照繼承的理念實現物件的成員擴充實現繼承,因此js的繼承方法特別多

混入繼承

function

mix(o1,o2)

}var o1 = ;

var o2 = ;

mix(o1,o2);

//結果是o1有了o2的age屬性

JS物件導向程式設計 物件

一般面向過程的寫法都是寫很多function,壞處 1.復用不好 2.函式名稱容易重複衝突 下面介紹物件導向的寫法 在js中每個函式function都是乙個物件。比如,下面這個就是乙個物件,我們在使用的時候就可以當作物件來使用。function helloworld 使用下面測試函式 呼叫該函式就會...

js物件導向高階

function student name,age var stu1 new student 張三 18 像這樣需要通過new來使用的函式都可以稱為建構函式 通過this寫進去的,是它的例項方法,可以通過new來呼叫 student.nation china 向這樣直接新增進去的是靜態成員,只能通過...

js物件導向程式設計

js物件導向程式設計 js使用建構函式作為物件的模板 var vehicle function 生成物件例項 var v new vehicle v.price 1000 傳引數的建構函式 var vehicle function value var v new vehicle 500 protot...