有关node中getter和setter的编写
发布于 10 年前 作者 sacuba 3350 次浏览 最后一次编辑是 9 年前 来自 问答

目前我们是这这样写的 注释已经去掉哈,求问这种getter的写法对不对,或者说符不符合要求,查了一些资料也查不到结果,求教诸位 function ReceiptObject(sequence,terminal_code_dst,terminal_type_dst,receipt_code,msg,utc) { var _sequence=sequence; var _terminal_code_dst=terminal_code_dst; var _terminal_type_dst=terminal_type_dst; var _receipt_code=receipt_code; var _msg=msg; var _utc=utc; this.getSequence=function(){ return _sequence; }; this.getTerminal_code_dst=function (){ return _terminal_code_dst; }; this.getTerminal_type_dst=function (){ return _terminal_type_dst; }; this.getReceipt_code=function (){ return _receipt_code; }; this.getMsg=function (){ return _msg; }; this.getUtc=function (){ return _utc; }; this.toValueString=function toValueString() { return util.format("%s@%s@%d%s@%s@%d",_sequence,_terminal_code_dst,_terminal_type_dst,_receipt_code,_msg,_utc); }; }

6 回复

up一下吧 求助哈 虽然应该是个很简单的问题

function User(props){
    for(var prop in props){
        (function(currentObj){ //这里的currentObj由this传过来的。this 为 User
            //创建此属性的一个新的getter(读取器)
            (function(prop){
            currentObj["get"+prop] = function(){
                //alert(props.name+" "+props.age+" "+prop);
                return props[prop];
            }
            //创建此属性的一个新的setter(设置器)
            currentObj["set"+prop] = function(val){
                props[prop] = val;
            };
            })(prop);//查了一下这里是自调用函数的写法
        })(this); //这里的this 为 User
    }
}
var user = new User({"name":"chengkai","age":22});

这样写可以否

@luoyjx 如果user的某个属性不想给set函数的话 这样写处理起来会很麻烦啊

@sacuba 额,我只是提供一种思路

加班了 up下

回到顶部