js物件屬性的四個特徵

2021-10-07 03:49:38 字數 1307 閱讀 1232

建立乙個物件

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...

資料的四個特徵

我們總是在談資料分析,那麼到底什麼是資料,資料有什麼特徵呢?這個問題雖基礎卻重要。這裡我們所說的資料,僅指應用於企業運營的市場資訊。它是認識事物的中間環節,是事物的表面特徵,其作用在於消除事物的不確定性。它至少具有以下四個基本特徵。一 時效性 所謂時效性是指資料的發生和運用要有個提前期,失去時效性,...