国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

JavaScript筆記之數據屬性和存儲器屬性

2024-05-06 16:30:06
字體:
來源:轉載
供稿:網友
本文給大家介紹js數據屬性和存儲器屬性,及兩種屬性的區別,對js數據屬性存儲器屬性相關知識感興趣的朋友一起學習
 

在javascript中,對象的屬性分為數據屬性和存儲器屬性兩種:

兩種屬性的區別

我們使用Object.defineProperty()先來直觀的感受一下這兩者的不同。

使用Object.defineProperty()對數據屬性進行設置的方法如下

var obj = {};Object.defineProperty(obj, "prop", {value: 1,writable: true, //可寫性enumerable: true, //可枚舉性configurable: true //設置該屬性是否能被刪除,以及enumerable屬性是否可以被修改})

使用Object.defineProperty()對存儲器屬性的設置方法如下

var obj = {};Object.defineProperty(obj, "prop", {getsetenumerable: true, //可枚舉性configurable: true //設置該屬性是否能被刪除,以及enumerable屬性是否可以被修改})

從上面的例子中,我們觀察到存儲器屬性并沒有value和writable兩個屬性,取而代之的是set和get屬性。

存儲器屬性

看完了數據屬性和存儲器屬性直觀上的差異,我們詳細看一看存儲器屬性這個容易會被忽視(說的就是我TT)的屬性。

存儲器屬性與數據屬性最大的不同就是增加了getter/setter,通過它們可以對屬性的值進行操作,可以實現一些實用的功能。

//example1function serialnum() {var n =1; var prop = null;Object.defineProperty(this, "n", {get: function() {return n;},set: function(value) {if(value > n) n = value;else throw '請輸入一個大于n的值';}})}var obj = new serialnum();obj.n = 2;//2obj.n = 0;//Uncaught 請輸入一個大于n的值

上面的例子中,使用set函數對n的取值范圍進行控制。

關于js數據屬性存儲屬性小編就給大家介紹到這里,希望對大家有所幫助!



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 和硕县| 禄丰县| 尼玛县| 韩城市| 霸州市| 开阳县| 海南省| 中宁县| 寿阳县| 社会| 鹤峰县| 克什克腾旗| 宁津县| 肇源县| 平果县| 南木林县| 始兴县| 庄河市| 库伦旗| 密云县| 日喀则市| 沭阳县| 凤冈县| 依安县| 丹棱县| 潼关县| 米林县| 汉源县| 千阳县| 牡丹江市| 绥棱县| 尉犁县| 冷水江市| 新建县| 蒙阴县| 大竹县| 新建县| 青海省| 湘阴县| 博白县| 普宁市|