国产探花免费观看_亚洲丰满少妇自慰呻吟_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數據屬性存儲屬性小編就給大家介紹到這里,希望對大家有所幫助!



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴化市| 周口市| 巫山县| 玉田县| 稷山县| 香格里拉县| 赤水市| 潮安县| 北流市| 清远市| 大丰市| 华安县| 辛集市| 陇西县| 德庆县| 邻水| 滦南县| 德清县| 库尔勒市| 赤壁市| 文登市| 迁安市| 句容市| 兰溪市| 根河市| 景谷| 南丰县| 临安市| 赤水市| 安溪县| 怀仁县| 大同县| 高台县| 长寿区| 平和县| 平昌县| 威海市| 抚州市| 嫩江县| 辉南县| 泾源县|