码迷,mamicode.com
首页 > 其他好文 > 详细

ECMAScript5新特性之属性描述符读写对象的属性

时间:2017-06-13 17:04:48      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:value   table   ros   默认   define   富士   var   rabl   log   

直接读写、使用Getter/Setter accessors

          
‘use strict‘;
var
fruit = {}; Object.defineProperties(fruit,{ ‘name‘ : { configurable : true, enumerable : true, get : function(){ console.log(‘Getter方法‘); return name; }, set : function(val){ console.log(‘Setter方法‘); name = val; } }, ‘desc‘ : { configurable : true, enumerable : true, writable : true, value : ‘红富士‘ } }); // fruit.name=‘杨梅‘; console.log(‘name‘,fruit.name); // console.log(‘desc‘,fruit.desc); fruit.desc = ‘金帅‘; console.log(‘desc‘,fruit.desc);

严格模式下:

1 writable、value属于直接读写,Getter/Setter属于存取器读写。

   这两种方法是互斥的,只能使用其中之一。

2 writable默认false,即对象属性是只读的。

3 只提供Getter,则对象的属性是只读的,赋值会抛异常。

 只提供Setter,则对象的属性是只写的,读取会拿到undefined。

ECMAScript5新特性之属性描述符读写对象的属性

标签:value   table   ros   默认   define   富士   var   rabl   log   

原文地址:http://www.cnblogs.com/sea-breeze/p/7001204.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!