let Person = {
name:"personName",
sex:1,
age:23
}
es6 使用proxy实现
let Person = new proxy(Person,{
get(target,key){
return target[key]
},
set(target,key,value){
if(key != sex){//性别不能被改变
target[key] = value;
}
}
});
调用 person.sex = 0; person.sex还是等于1
es5 使用构造函数
function Person = function(){
let obj = {
name:"personName",
sex:1,
age:23
}
this.get = function(key){
return obj[key];
}
this.set = function(ket,value){
if(key!="sex"){
obj[key] = value;
}
}
}
调用
var person = new Person();
获取:person.get("key");
赋值:person.set("key","1");
es5 使用Object.definedProperty(Person,"sex",{
writable:false,
value:1
});
调用 person.sex = 0; person.sex还是等于1;
感谢观看!谢谢指导!