var obj = { name: 'xiaoyu' }
var obj2 = {}
obj2 = Object.create(obj, {
sex: {
value: 'nan',
writable: true, //是否可以修改
configurable: true, //是否可以删除
enumerable: true //是否可以用for in进行枚举
}
})
console.log(obj2, 'obj2')
console.log(obj2.name, obj2.sex)
obj2.sex = "nv"
console.log(obj2.sex, 'last')
delete obj2.sex
console.log(obj2.sex, 'deletelast')
for (let i in obj2) {
console.log(i)
}
var obj3 = {firstName:'xiaoyu',lastName:'xiaohang'}
Object.defineProperties(obj3,{
fullName:{
// 获取拓展属性值的时候 会自动调用
get:function(){
return this.firstName+this.lastName
},
// 修改拓展属性值的时候 会自动调用
set:function(data){
console.log(data)
var names = data.split(' ')
this.firstName = names[0]
this.lastName = names[1]
}
}
})
console.log(obj3.fullName)
obj3.fullName = "xiaoyu hang"
console.log(obj3.fullName)