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