首页 > 其他 > 详细

对象的数据属性(Object)

时间:2017-12-28 15:51:42      阅读:205      评论:0      收藏:0      [点我收藏+]

value: 对象属性的默认值,默认值为undefined

configurable: 能否使用delete、能否需改属性特性、或能否修改访问器属性、,false为不可重新定义,默认值为true

enumerable: 对象属性是否可通过for-in循环,flase为不可循环,默认值为true

writable: 对象属性是否可修改,flase为不可修改,默认值为true

let person = {};
Object.defineProperty(person, ‘name‘, {
    value: ‘xixi‘,
    configurable: false,
    writable: false,
    enumerable: false,
});

//value
console.log(person.name); //xixi

//writable
person.name=‘biubiu‘;
console.log(person.name); //xixi writable: false,不可修改value值

//configurable
Object.defineProperty(person, ‘name‘, {
    value: ‘xixi‘,
    configurable: true,
    writable: true,
    enumerable: false,
}); //configurable: false, 不可修改属性 报错 Uncaught TypeError
delete person.name; //不可修改

//enumerable 
for(var i in person){ 
    console.log(person[i]); 
} //enumerable: false,不可枚举 无结果  

Object.defineProperty(person, ‘name2‘, { 
    value: ‘hh‘, 
    configurable: true, 
    writable: true,
    enumerable: true, 
});
console.log(person.name2); //hh  
person.name2=‘jj‘; 
console.log(person.name2); //writable: true 可修改 jj  

Object.defineProperty(person, ‘name2‘, { 
    value: ‘jj‘, 
    configurable: true, 
    writable: false, 
    enumerable: true, 
}); //configurable: true,配置可修改 

person.name2=‘jj2‘; 
console.log(person.name2); //jj writable改为false不可修改 

for(var i in person){ 
    console.log(person[i]); 
} //jj

 

对象的数据属性(Object)

原文:https://www.cnblogs.com/biubiuxixiya/p/8135748.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!