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

首頁(yè) > 編程 > JavaScript > 正文

JavaScript筆記之?dāng)?shù)據(jù)屬性和存儲(chǔ)器屬性

2019-11-20 10:18:45
字體:
供稿:網(wǎng)友

在javascript中,對(duì)象的屬性分為數(shù)據(jù)屬性和存儲(chǔ)器屬性兩種:

兩種屬性的區(qū)別

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

使用Object.defineProperty()對(duì)數(shù)據(jù)屬性進(jìn)行設(shè)置的方法如下

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

使用Object.defineProperty()對(duì)存儲(chǔ)器屬性的設(shè)置方法如下

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

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

存儲(chǔ)器屬性

看完了數(shù)據(jù)屬性和存儲(chǔ)器屬性直觀上的差異,我們?cè)敿?xì)看一看存儲(chǔ)器屬性這個(gè)容易會(huì)被忽視(說的就是我TT)的屬性。

存儲(chǔ)器屬性與數(shù)據(jù)屬性最大的不同就是增加了getter/setter,通過它們可以對(duì)屬性的值進(jìn)行操作,可以實(shí)現(xiàn)一些實(shí)用的功能。

//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 '請(qǐng)輸入一個(gè)大于n的值';}})}var obj = new serialnum();obj.n = 2;//2obj.n = 0;//Uncaught 請(qǐng)輸入一個(gè)大于n的值

上面的例子中,使用set函數(shù)對(duì)n的取值范圍進(jìn)行控制。

關(guān)于js數(shù)據(jù)屬性存儲(chǔ)屬性小編就給大家介紹到這里,希望對(duì)大家有所幫助!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 诸暨市| 微山县| 壤塘县| 敦煌市| 桂阳县| 安宁市| 镶黄旗| 兴隆县| 琼结县| 墨脱县| 寿阳县| 南部县| 富锦市| 山西省| 桃园市| 吴川市| 英德市| 佛坪县| 贵州省| 苏尼特左旗| 建昌县| 公主岭市| 无棣县| 宿州市| 澜沧| 雷山县| 华蓥市| 巴东县| 绥棱县| 德令哈市| 大埔区| 新乡市| 阿拉善盟| 榆林市| 平顶山市| 孟村| 婺源县| 门头沟区| 广饶县| 白沙| 临洮县|