屬性型別
資料屬性
訪問器屬性
要修改屬性預設的特性,必須使用ecmascript 5 的object.defineproperty()方法。
由於為物件定義多個屬性的可能性很大,ecmascript 5 又定義了乙個object.defineproperties()
方法。使用ecmascript 5 的object.getownpropertydescriptor()方法,可以取得給定屬性的描述
符。這個方法接收兩個引數:屬性所在的物件和要讀取其描述符的屬性名稱。
建立物件
建構函式模式
new 操作符呼叫建構函式實際上會經歷以下4個步驟
建立乙個新物件;
將建構函式的作用域賦給新物件(因此this 就指向了這個新物件);
執行建構函式中的**(為這個新物件新增屬性, 劃重點:這裡和原型物件中的constructor指向沒有必然的聯絡,雖然constructor一般指向此建構函式,但即使constructor不指是向此建構函式,new操作依然執行的是此建構函式中的**);
返回新物件。
原型模式
每個函式都有乙個prototype(原型)屬性,這個屬性是乙個指標,指向乙個物件,
而這個物件的用途是包含可以由特定型別的所有例項共享的屬性和方法。
所有原型物件都會自動獲得乙個constructor(建構函式)屬性,這個屬性包含乙個指向prototype 屬性所在函式的指標。
function person(name, age, job)
person.prototype =
繼承
ecmascript 中描述了原型鏈的概念,並將原型鏈作為實現繼承的主要方法。其基本思想是利用原
型讓乙個引用型別繼承另乙個引用型別的屬性和方法。
JavaScript的物件導向
物件導向本身就是一種處理問題的思路,是對傳統面向過程程式設計的一種補充和完善 核心是類和物件的抽象封裝和建立,通過建立的各種物件之間互相協作 互相呼叫函式 完成乙個功能的完整流程 通過物件導向的三大特徵封裝 繼承 多型,來提高程式的健壯性 的復用性和功能的強大的擴充套件性。var people ne...
JavaScript物件導向
方法一 建構函式法 function cat cat.prototype.showname function var cat new cat cat.name tom cat.showname tom 它用建構函式模擬 類 在其內部用this關鍵字指代例項物件。類的屬性和方法,還可以定義在建構函式的...
javaScript物件導向
code 類lecture構造器 使用兩個字串函式,name和teacher function lecture name,teacher 類lecture的方法,生成乙個顯示該課程資訊的字串 lecture.prototype.display function 類schedule的構造器 使用乙個l...