和木雪3217235
2016-09-01 15:32
var obj={};
Object.defindProperty(obj,'x',{
configurable:false
value:1
});
delete obj.x;
obj.x;
这里的
Object.defindProperty(obj,'x',{
configurable:false
这两句是什么意思啊。configurable是什么意思啊。表示什么。
Object.defindProperty是修改默认属性的方法,接受三个参数,第一个是属性所在的对象obj,第二个是属性的名字x,第三个是描述符configurable 为false 是表示属性x不可以被删除和修改。
JS对象属性的的几种特征值,configurable 是否能通过delet删除, enumerable 能否被for-in枚举 writable是否可修改 value 数据值; defineProperty函数用来修改这些值
Object.defindProperty(obj,'x',{
configurable:false
value:1
});的意思是定义obj的原型属性。
configurable如果为false的话, 除了能修改writable的值 其他什么也干不了 包括你代码上面的删除属性
JavaScript深入浅出
281094 学习 · 1054 问题