为了账号安全,请及时绑定邮箱和手机立即绑定

defindProperty

var obj={};

Object.defindProperty(obj,'x',{

configurable:false

value:1

});

delete obj.x;

obj.x;

这里的

Object.defindProperty(obj,'x',{

configurable:false

这两句是什么意思啊。configurable是什么意思啊。表示什么。

正在回答

3 回答

Object.defindProperty是修改默认属性的方法,接受三个参数,第一个是属性所在的对象obj,第二个是属性的名字x,第三个是描述符configurable 为false 是表示属性x不可以被删除和修改。

1 回复 有任何疑惑可以回复我~
#1

和木雪3217235 提问者

非常感谢!
2016-09-01 回复 有任何疑惑可以回复我~
#2

_浅色天空

那为什么obj.x //输出1
2017-01-20 回复 有任何疑惑可以回复我~
#3

_莫忘初衷_ 回复 _浅色天空

仔细看我上面的回答,configurable 为false 了之后这句delete obj.x;就不起作用了,所以obj.x还是1
2017-01-21 回复 有任何疑惑可以回复我~

JS对象属性的的几种特征值,configurable 是否能通过delet删除, enumerable 能否被for-in枚举 writable是否可修改 value 数据值; defineProperty函数用来修改这些值

1 回复 有任何疑惑可以回复我~

Object.defindProperty(obj,'x',{

configurable:false

value:1

});的意思是定义obj的原型属性。

configurable如果为false的话,  除了能修改writable的值  其他什么也干不了  包括你代码上面的删除属性

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript深入浅出
  • 参与学习       281098    人
  • 解答问题       1020    个

由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握

进入课程

defindProperty

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信