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

关于对象的数据属性和访问器属性

时间:2015-04-27 11:09:21      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:

ECMAScript中有两种属性:数据属性和访问器属性。

数据属性:
数据属性包含一个数据值的位置,在这个位置可以读取和写入值。数据属性有4个描述其行为的特性。
     1. [[Configurable]]
     2. [[Enumerable]]
     3. [[Writable]]
     4. [[Value]]
要修改属性默认的特性,必须使用 Object.defineProperty()方法。这个方法接收三个参数,属性所在的对象,属性的名字和一个描述符对象。其中,描述符对象的属性必须是:configurable , enumerable , writable 和 value。比如:
var person = {};
Object.defineProperty(person, "name" ,{
     writable : false ,     //注意是逗号
     value : “Nicholas”
}
 
注意:可以多次调用 Object.defineProperty() 方法修改 enumerable , writable 和 value,但是对于 configurable ,如果设置为 false 后就再也不能修改了。
此外,在调用 Object.defineProperty() 方法时,如果不指定,configurable , enumerable , writable  特性的默认值都是 false。
 
访问器属性只能通过对象方法访问,具有下面四个特性:
     1. [[Configurable]]
     2. [[Enumerable]]
     3. [[Get]]
     4. [[Set]]
此外,访问器属性包含 getter 和 setter 函数。

关于对象的数据属性和访问器属性

标签:

原文地址:http://www.cnblogs.com/bestend/p/4459517.html

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