let a = {
name:"wenbi"
}
let b = Object.create(a,{//将a作为b的原型,并再给b添加属性及对应的参数值
engName:{
value:"Agwenbi",//设置值
writable:false,//不可修改
configurable:false,//不可删除
enumerable:false,//不可使用forin枚举
},
chName:{
value:"xxx",
writable:false,
configurable:true,
enumerable:true
}
});
b = Object.defineProperty(b,"chName",{//可单独对对象中的某个属性进行修改
value:"agwenbi",
writable:true,
configurable:true,
enumerable:true
});
console.log(b);
//----------------------------------------------------
let c = {
name:"张三",
age:18
}
Object.defineProperties(c,{
info:{
get:function(){//此处如果使用箭头函数,this将指向window,设置值将失败
return this.name + "-" + this.age;
},
set:(data)=>{
let temp = data.split("-");
if(temp.length <= 1){
return console.log("设置的值不合法");
}
this.name = temp[0];
this.age = temp[1];
}
}
});
//----------------------------------------------------
let d = {
firstname:"abc",
lastname:"def",
get fullname(){
return this.firstname + this.lastname;
},
set fullname(data){
if(data.split("-").length <= 1){
return console.log("设置的值不合法");
}
this.firstname = data.split("-")[0];
this.lastname = data.split("-")[1];
}
}