你得单独用变量保存一下,然后后面的 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)