自存档对象
function Archiver(){
console.log(this);
var temperature = null;
var archive = [];
Object.defineProperty(this,'temperature',{
get:function(){
console.log("get!!!!");
return temperature;
},
set:function(value){
temperature = value;
archive.push({val:temperature});
}
});
this.getArchive = function(){return archive};
}
var arc = new Archiver();
arc.temperature;
arc.temperature = 11;
arc.temperature = 13;
arc.getArchive();
console.dir(arc);
/*--------------------------------------------------------------------------------*/
get:
一个给属性提供getter方法,当访问该属性时,该方法会被执行。方法执行时没有参数传入,但是会传入this对象(由于继承关系,这里的this并不一定时定义该属性的对象)
set:
当属性值修改时触发执行该方法,该方法接受唯一参数,即该属性新的参数值。
摘自MDN
上一篇
下一篇