freecodecamp中的创建一个人员对象?-灵析社区

Fiona

![](https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241028/a2dc6d9684bdf251bf4bfd0dc47e8806.png) 该如何修改代码 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; }; }; 修改正确

阅读量:8

点赞量:0

问AI
你得单独用变量保存一下,然后后面的 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 ''; }; * "中级算法: 创建一个人员对象 | freeCodeCamp.org" (https://link.segmentfault.com/?enc=mSDWPhSd%2FutEumaPQ8TrzA%3D%3D.aVFd41ngKpPKKbrf%2BuNPq3NCncINaqjIfNDQulwPSSVGy38Wtu20eAp%2BQ6JVaIa5vDh8068U7VWwFoKsjRn3WtfF1ID%2FmYbi8Kx3KR3DMlZhRb2nvBKoL6iDwZpTbrkys0H3Aavd%2FROMU21gxC01ap4lFhdpVqKYln%2BkfynYFsUu2GmVTANrZ0sswHLtqWGn)