標籤:oca 原型 rip local -- 面向 blog 類對象 person
參考型別是一種資料結構,本質是資料和功能的集合。參考型別有時也被稱為對象定義,因為它們描述的是一類對象所具有的屬性和方法。參考型別相當於java裡面的類,javascript雖然是一門物件導向語言,但是它不支援傳統物件導向語言的類和介面。
對象是某個特定參考型別的執行個體,對象可以通過new操作符後跟一個要建立的物件類型的名稱來建立。例如:
var o = new Object();
這行代碼建立了Object參考型別的一個新執行個體,然後將該執行個體儲存在變數o中。它只為新對象定義了預設的屬性和方法,僅僅建立Object的執行個體並沒有什麼用處,但是要理解一個重要的思想:javascript中大多數參考型別的值都是Object類型的執行個體。
建立Object執行個體的方法有兩種,一種是使用new操作符後面跟Object建構函式,例如:
var person = new Object();person.name = "Tom";person.age = 21;
另一種方式是使用對象字面量來建立,例如:
var person = { name : "Tom", age : 21 };
使用對象字面量方式建立時,屬性名稱也可以使用字串形式,例如:
var person = { "name" : "Tom", "age" : 21 };
同時對象字面量也可以用於函數傳參,例如:
function showInfo (args) { alert("名字:" + args.name + ", 年齡:" + args.age);}showInfo({
name : "Tom",
age : 21
}); //名字:Tom, 年齡:21
在javascript中,既能通過點的形式訪問對象屬性,也能通過方括弧形式訪問對象的屬性,使用方括弧形式時,要將屬性名稱以字串形式放在方括弧裡面,例如:
var person = { name : "Tom", age : 21 };alert(person.name); //Tom alert(person["name"]); //Tom
Object的每個執行個體都具有下列屬性和方法:
constructor:儲存著用於建立當前對象的函數。
hasOwnProperty(propertyName):用於檢查給定的屬性在當前對象執行個體中是否存在,參數必須以字串的形式。
isPrototypeOf(object):用於檢查傳入的對象是否是當前對象的原型。
propertyIsEnumerable(propertyName):用於檢查給的那個的屬性是否能使用for-in來枚舉,參數必須以字串的形式。
toLocaleString():返回對象的字串表示,該字串與執行環境的地區對應。
toString():返回對象的字串表示。
valueOf():返回對象的字串、數值或布爾值表示。
PS:此內容根據javascript高程知識總結,用於個人筆記分享。
javascript-參考型別--Object類型