--- id: a2f1d72d9b908d0bd72bb9f6 title: Make a Person challengeType: 5 videoUrl: '' localeTitle: 做一个人 --- ## Description
使用以下方法填写对象构造函数:
getFirstName()getLastName()getFullName()setFirstName(first)setLastName(last)setFullName(firstAndLast)
运行测试以查看每个方法的预期输出。采用参数的方法必须只接受一个参数,并且必须是一个字符串。这些方法必须是与对象交互的唯一可用方法。如果卡住,请记得使用Read-Search-Ask 。尝试配对程序。编写自己的代码。
## Instructions
## Tests
```yml tests: - text: Object.keys(bob).length应该返回6。 testString: 'assert.deepEqual(Object.keys(bob).length, 6, "Object.keys(bob).length should return 6.");' - text: bob instanceof Person应该返回true。 testString: 'assert.deepEqual(bob instanceof Person, true, "bob instanceof Person should return true.");' - text: bob.firstName应返回undefined。 testString: 'assert.deepEqual(bob.firstName, undefined, "bob.firstName should return undefined.");' - text: bob.lastName应返回undefined。 testString: 'assert.deepEqual(bob.lastName, undefined, "bob.lastName should return undefined.");' - text: bob.getFirstName()应返回“Bob”。 testString: 'assert.deepEqual(bob.getFirstName(), "Bob", "bob.getFirstName() should return "Bob".");' - text: bob.getLastName()应返回“Ross”。 testString: 'assert.deepEqual(bob.getLastName(), "Ross", "bob.getLastName() should return "Ross".");' - text: bob.getFullName()应该返回“Bob Ross”。 testString: 'assert.deepEqual(bob.getFullName(), "Bob Ross", "bob.getFullName() should return "Bob Ross".");' - text: bob.getFullName()应该在bob.setFirstName("Haskell")之后返回“Haskell Ross”。 testString: 'assert.strictEqual((function () { bob.setFirstName("Haskell"); return bob.getFullName(); })(), "Haskell Ross", "bob.getFullName() should return "Haskell Ross" after bob.setFirstName("Haskell").");' - text: bob.getFullName()应该在bob.setLastName("Curry")之后返回“Haskell Curry”。 testString: 'assert.strictEqual((function () { var _bob=new Person("Haskell Ross"); _bob.setLastName("Curry"); return _bob.getFullName(); })(), "Haskell Curry", "bob.getFullName() should return "Haskell Curry" after bob.setLastName("Curry").");' - text: bob.getFullName()应该在bob.setFullName("Haskell Curry")之后返回“Haskell Curry”。 testString: 'assert.strictEqual((function () { bob.setFullName("Haskell Curry"); return bob.getFullName(); })(), "Haskell Curry", "bob.getFullName() should return "Haskell Curry" after bob.setFullName("Haskell Curry").");' - text: bob.getFirstName()应该在bob.setFullName("Haskell Curry")之后返回“Haskell”。 testString: 'assert.strictEqual((function () { bob.setFullName("Haskell Curry"); return bob.getFirstName(); })(), "Haskell", "bob.getFirstName() should return "Haskell" after bob.setFullName("Haskell Curry").");' - text: bob.getLastName()应该在bob.setFullName("Haskell Curry")之后返回“Curry”。 testString: 'assert.strictEqual((function () { bob.setFullName("Haskell Curry"); return bob.getLastName(); })(), "Curry", "bob.getLastName() should return "Curry" after bob.setFullName("Haskell Curry").");' ```
## Challenge Seed
```js var Person = function(firstAndLast) { // Complete the method below and implement the others similarly this.getFullName = function() { return ""; }; return firstAndLast; }; var bob = new Person('Bob Ross'); bob.getFullName(); ```
## Solution
```js // solution required ```