es5对象的扩展

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值