JS中的資料屬性和訪問器屬性

2021-07-24 20:57:15 字數 1037 閱讀 3260

資料屬性:包含乙個資料值的位置,在這個位置可以讀取和寫入值。有4個描述其行為的特性:

(1)configurable:表示能否通過delete刪除屬性,從而重新定義屬性,預設值為ture;

(2)enumerable:表示能否通過for-in迴圈返回屬性,預設值為ture;

(3)writable:表示能否修改屬性的值,預設為ture;

(4)vaule:包含這個屬性的資料值,讀取屬性時,從這個位置讀,寫屬性時,將新值儲存進入,預設值為undefined。

var person = {};

object.defineproperty(person, "name", );

上例中,建立了乙個person物件,configurable為false表示不能通過delete刪除屬性,而此例子中writable預設為ture,即可修改屬性的值,通過vaule將屬性值修改為「nicholas」。

訪問器屬性:不包含屬性值,只包含getter和setter函式。讀取訪問器屬性時,呼叫getter函式,返回有效的值;在寫入訪問器屬性時,呼叫setter函式傳入新值。(這兩個函式不是

必需的),其有4干擾描述其行為的特性;

(1) configurable:表示是否能通過delete刪除屬性從而重新定義屬性,能否修改屬性的特性,能否把屬性修改為訪問器屬性,預設值為ture;

(2) enumerable:表示能否用for-in迴圈返回,預設值為ture;

(3) get:讀取屬性時呼叫的函式,預設undefined;

(4 )set:寫入屬性時呼叫的函式,預設undefined。

var book = ;

object.defineproperty(book, "year", ,

set: function(newvalue)

}});

book.year = 2005;

alert(book.edition); //2

使用訪問器屬性時,常常會導致其他屬性也發生變化,上例中edition發生了變化。

資料屬性和訪問器屬性

es5中定義了兩種屬性,分別是資料屬性和訪問器屬性。1 資料屬性 資料屬性的四個特性分別是它的值 value 可寫性 writable 可列舉性 enumerable 和可配置性 configurable var o 為物件o新增乙個值為1,屬性名為x,可寫,不可列舉,可配置的屬性。object.d...

Object的資料屬性和訪問器屬性

一 資料屬性 1.資料屬性 它包含的是乙個資料值的位置,在這可以對資料值進行讀寫。2.資料屬性包含四個特性,分別是 configurable 表示能否通過delete刪除屬性從而重新定義屬性,能否修改屬性的特性,或能否把屬性修改為訪問器屬性,預設為true enumerable 表示能否通過for ...

關於 js 的訪問器屬性

訪問器屬性是為了解決 開關的保護是死板的,不靈活的,法用自定義規則保護屬性,注意 每個資料屬性的縮微物件中都包含四個屬性 訪問器屬性的 如下 建立乙個物件 var lilei 呼叫函式 object.defineproperties lilei,uage set function value els...