JavaScript 讀寫屬性
■知識點(diǎn)
使用點(diǎn)語法可以快速讀寫對象屬性,點(diǎn)語法左側(cè)是引用對象的變量,右側(cè)是屬性名。
從結(jié)構(gòu)上分析,對象與數(shù)組相似,因此可以使用中括號來讀寫對象屬性。
使用Object.getOwnPropertyNames()函數(shù)能夠返回指定對象私有屬性的名稱。私有屬性是指用戶在本地定義的屬性,而不是繼承的原型屬性。具體用法如下:
Object.getOwnPropertyNames(object)
參數(shù)object表示一個對象,返回值為一個數(shù)組,其中包含所有私有屬性的名稱。其中包括可枚舉的和不可枚舉的屬性與方法的名稱。如果僅返回可枚舉的屬性和方法的名稱,應(yīng)該使用Object.keysO函數(shù)。
使用Object.keysO函數(shù)僅能獲取可枚舉的私有屬性名稱。具體用法如下:
Object.keys (object)
參數(shù)object表示指定對象,可以JavaScript對象或DOM對象。返回值是一個數(shù)組,其中包含對象的可枚舉屬性名稱。
使用Object.getOwnPropertyDescriptor()函數(shù)能夠獲取對象屬性的描述符。具體用法如下:
Object。getOwnPropertyDescriptor(object, propertyname)
參數(shù)object表示指定的對象,propertyname表示屬性的名稱。返回值為屬性的描述符對象。
■實(shí)例設(shè)計(jì)
【示例1】下面的示例定義對象obj,包含屬性X,然后使用點(diǎn)語法讀取屬性x的值。
var obj = { //定義對象
x:1,
}
console.log(obj.x); //訪問對象屬性X,返回1
obj.x = 2; //重寫屬性值
console.log(obj.x); //訪問對象屬性X,返回2
【示例2】針對上面的示例,可以使用中括號語法讀寫對象obj的屬性x的值。
console.log(obj["x"]); //2
obj["x"] = 3; //重寫屬性值
console.log(obj["x"]); //3
點(diǎn)擊加載更多評論>>