自存档对象

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

你可能感兴趣的:(自存档对象)