javascript内置属性

定义只有内部才用的特性,描述了属性的各种特征,表示特性是内部的值,放在[[ ]]中
数据属性和访问器属性

数据属性

[[Configurable]]:能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或者能否把属性修改为访问器属性(默认为true)
[[Enumerable]]:能否通过for-in循环返回属性(默认值是true)
[[Writable]]:能否修改属性的值(默认值是true)
[[Value]]:包含这个属性的数据值。读和写(默认值是undefined)

Object.defineProperty(obj,proName,修饰符对象)修改数据属性

修饰符对象的属性:configurable,enumerable,writable和value

在调用Object.defineProperty(obj,proName,修饰符对象),不过不指定修饰符的值,默认是false


访问器属性

[[Configurable]]:能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或者能否把属性修改为访问器属性(默认为true)
[[Enumerable]]:能否通过for-in循环返回属性(默认值是true)
[[Get]]:在读取属性时候调用该函数,(默认值是undefined)
[[Set]]:在写入属性时候调用该函数,(默认值是undefined)

clipboard.png

clipboard.png

var o = {a:1,b:2};
o.c = 3;
Object.defineProperty(o,"d",{
   value:4,enumerable:false
});
//for in 不可以获得enumerable为false的属性
//Object.keys(o)不可以获得enumerable为false的属性
//JSON.stringify(o)不可以获得enumerable为false的属性
//Object.getOwnPropertyNames(o) 可以获得enumerable为false的属性
//ES6中:Reflect.getOwnPropertyNames(o)  可以获得enumerable为false的属性

总结:

clipboard.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值