专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > JavaScript

Javascript魔法步骤:defineGetter_defineSetter_

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
Javascript魔法方法:__defineGetter__,__defineSetter__

转载自: http://www.blackglory.me/javascript-magic-method-definegetter-definesetter/

在javascript的类中,可以用defineGetterdefineSetter_控制成员变量的Get和Set行为

例如,在一个图书类中,我们自动为Book加上书名符号:

function Book(name){  
    this.bookName=name;
    this.getName=function(){
        return "《"+this.bookName+"》";
    }
    this.setName=function(name){
        this.bookName=name;
    }
}

接下来我们只要规定使用者通过setName和getName方法对成员变量bookName操作就可以了.

但实际上还可以更方便:

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;});  

这样,就可以直接通过Book对象的name属性来返回带有书名符号的字符串而又不影响成员变量本身了.

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: