Object.defineProperty是对对象中的属性进行数据描述的
使用语法:
Object.defineProperty(obj,prop,descriptor)
使用示例:
var data = { title:'标题', content:'内容' } Object.defineProperty(data,'title',{ configurable:false, //是否可以删除目标属性,默认为false enumerable:false, //是否可枚举,默认是false value:'新标题', //当前属性对应的值,默认是undefined writable:false, //是否允许被重写,默认为false })
当设置了configurable后再使用delete就不会生效了
delete data.title
当设置了enumerable后使用for in 遍历对象时就不能得到进行设置的对象了
for( item in data ){ console.log(item) }
打印data.title
data.title = "改写的标题" console.log(data.title)