犀牛书随手记-05

关于对象的读写性
我们知道对象属性是由键值对构成的,在ECMAScript5中,属性值可以用一个或者两个方法替代

当程序查询存储器属性时会调用getter方法,其返回值就是属性存取表达式
当程序设置一个存储器的属性的值时,会调用setter方法
和数据属性不同,存储器属性不具有可写性。如果属性同时具有二者,则该属性是可读写的。如果只有getter方法,则该属性是一个只读的 ,反之亦然。
举个栗子

    var p ={
        x:1,
        y:2,
        get r(){return this.x+this.y},
        set g(newValue){return this.x*this.y+newValue},
        get sq(){return this.x+2}
    }

值得注意的是get 是没有参数的 但是set 是有参数的
而且存储器是可以继承的

你可能感兴趣的:(犀牛书随手记-05)