在javascript中可以用_defineGetter_,和_defineSetter_来控制成员变量的get和set行为
例如,在一个图书类中,我们自动为Book加上书名符号:
function book(name){
this.bookName = name;
this.getName= function(){
return this.bookName;
}
this.setName= function(name){
this.bookName=name
}}
可方便写成:
Book.prototype.__defineGetter__("name",function(){ return "《"+this.bookName+"》"; })
Book.prototype.__defineSetter__("name",function(name){this.bookName=name;});