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