使用它所提供的介面而忽略其內部組成情況
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...