JavaScript 定義屬性
■知識(shí)點(diǎn)
在對象直接量中,屬性名與屬性值之間通過冒號(hào)分隔,冒號(hào)左側(cè)是屬性名,右側(cè)是屬性值,名值對(屬性之間通過逗號(hào)分隔。另外,也可以使用點(diǎn)語法定義屬性。
使用Object.defmePropertyO函數(shù)可以為對象添加屬性,或者修改現(xiàn)有屬性。如果指定的屬性名在對象中不存在,則執(zhí)行添加操作;如果在對象中存在同名屬性,則執(zhí)行修改操作。
具體用法如下:
Object.defineProperty(object, propertyname, descriptor)
參數(shù)說明如下。
object:指定要添加或修改屬性的對象,可以是JavaScript對象或者DOM對象。
propertyname:表不屬性名的字符串。
descriptor:定義屬性的描述符,包括對數(shù)據(jù)屬性或訪問器屬性。
Object.defineProperty返回值為己修改的對象。
使用Object.defineProperties()函數(shù)可以一次定義多個(gè)屬性。具體用法如下:
object.defineProperties(object, descriptors)
參數(shù)說明如下。
object:對其添加或修改屬性的對象,可以是本地對象或DOM對象。
descriptors:包含一個(gè)或多個(gè)描述符對象。每個(gè)描述符對象描述一個(gè)數(shù)據(jù)屬性或訪問器屬性。
■實(shí)例設(shè)計(jì)
【示例1】在下面的示例中,使用直接量方法定義對象obj,然后添加了兩個(gè)屬性,一個(gè)是屬性,另一個(gè)是方法。
var obj = { //定義對象
x:l, //屬性
y: function () { //方法
return this.x + this.x;
}
}
【示例2】通過點(diǎn)語法,可以在構(gòu)造函數(shù)內(nèi)或者對象外添加屬性。
var obj = {} //定義空對象
obj.x = 1; //定義屬性
obj.y = function。{ //定義方法
return this.x + this.x;
}
點(diǎn)擊加載更多評論>>