建立乙個物件
var obj =
object.getownpropertydescriptor()
獲取某個物件特定屬性的屬性描述
ps:獲取不存在的屬性時會返回undefined
var objid = object.getownpropertydescriptor(obj,'id');
console.log(objid); //
預設情況下writable,enumerable,configurable都為true
value 值
物件可以通過.訪問其屬性值
console.log(obj.id); //10001
writable 可寫性
writable為true時我們可以對物件的屬性值進行修改操作
obj.id++;
console.log(obj.id); //10002
enumerable 可列舉性
writable為true時我們可以通過for-in遍歷物件
for(var key in obj)
結果:
configurable 可配置性
configurable為false時將不可修改其他特性的狀態
object.defineproperty()
會直接在乙個物件上定義乙個新屬性,或者修改乙個物件的現有屬性,並返回此物件
object.defineproperty(obj,'id',)
obj.id++;
console.log(obj.id); //10002
將writable設定為flase,這時修改obj的id屬性的值是不會成功的
然而這在js中這是不報錯的,如果需要排查錯誤,可以在js中你所需要的部分啟用嚴格模式
"use strict";
uncaught typeerror:無法分配給物件「#」的唯讀屬性「id」
同時修改多個屬性的特性:
object.defineproperties(obj,,
name: ,
salary:
});console.log(obj); //
js物件 屬性的四個特徵
一些時候可能需要對某些物件屬性進行某些設定,比如禁止遍歷,修改,刪除。js物件中有三個特徵可以幫助實現這些需求。獲取屬性四類特徵 object.getownpropertydescriptor obj,attr 傳遞物件和此物件下的屬性這個方法返回乙個物件,裡面包括以下四個屬性,對應著四大特徵。屬性...
js物件屬性的四大特徵
建立物件 var arr configurable false,能否使用delete 能否需改屬性特性 或能否修改訪問器屬性 false為不可重新定義,預設值為true enumerable false,物件屬性是否可通過for in迴圈,flase為不可迴圈,預設值為true writable f...
資料的四個特徵
我們總是在談資料分析,那麼到底什麼是資料,資料有什麼特徵呢?這個問題雖基礎卻重要。這裡我們所說的資料,僅指應用於企業運營的市場資訊。它是認識事物的中間環節,是事物的表面特徵,其作用在於消除事物的不確定性。它至少具有以下四個基本特徵。一 時效性 所謂時效性是指資料的發生和運用要有個提前期,失去時效性,...