freecodecamp中的创建一个人员对象?

作者站长头像
站长
· 阅读数 8

freecodecamp中的创建一个人员对象?该如何修改代码const Person = function(first, last) { var first = first; var last = last; this.getFullName = function(str) {

return str;

}; this.getFirstName = function() {

return first.split(' ')[0];

}; this.getLastName = function() {

return last.split(' ')[1];

}; this.setFirstName = function(str) {

first = `${str} ${first.split(' ')[1]}`

}; this.setLastName = function(str) {

last = `${last.split(' ')[0]} ${str}`

}; this.setFullName = function(str) {

return str;

};};

修改正确

回复
1个回答
avatar
test
2024-06-23

你得单独用变量保存一下,然后后面的 setter/getter 方法都直接访问存的那个变量就好了呀,你现在这样的 setter 进来的你都没保存。

const Person = function (first, last) {
    let _first = first;
    let _last = last;
    this.getFirstName = function () {
        return _first;
    };
    this.getLastName = function () {
        return _last;
    };
    this.getFullName = function () {
        return _first + ' ' + _last;
    };
    this.setFirstName = function (first) {
        _first = first;
    };
    this.setLastName = function (last) {
        _last = last;
    };
    this.setFullName = function (first, last) {
        _first = first;
        _last = last;
    };

    return '';
};
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容