hasOwnProperty()
方法,另一个是in
关键字。如果我们有一个users
对象,它有一个Alan
属性,我们可以用以下两种方式之一来检查该属性在对象中是否存在:
```js
users.hasOwnProperty('Alan');
'Alan' in users;
// 都返回 true
```
users
对象和一个isEveryoneHere
函数,该函数接受users
对象作为参数。请完成该函数使其在users
对象中包含以下 4 个键Alan
、Jeff
、Sarah
和Ryan
时才返回true
,否则返回false
。
users
对象应该只含有Alan
、Jeff
、Sarah
和Ryan
4 个键。
testString: assert("Alan" in users && "Jeff" in users && "Sarah" in users && "Ryan" in users && Object.keys(users).length === 4);
- text: isEveryoneHere
函数在users
对象包含Alan
、Jeff
、Sarah
和Ryan
4 个键时应该返回true
。
testString: assert(isEveryoneHere(users) === true);
- text: isEveryoneHere
函数在users
对象不包含Alan
、Jeff
、Sarah
或Ryan
4 个键时应该返回false
。
testString: assert((function() { delete users.Alan; return isEveryoneHere(users) })() === false);
- text: 如果 Jeff
不是 users
对象的属性,函数 isEveryoneHere
应该返回 false
。
testString: assert((function() { delete users.Jeff; return isEveryoneHere(users) })() === false);
- text: 如果 Sarah
不是 users
对象的属性,函数 isEveryoneHere
应该返回 false
。
testString: assert((function() { delete users.Sarah; return isEveryoneHere(users) })() === false);
- text: 如果 Ryan
不是 users
对象的属性,函数 isEveryoneHere
应该返回 false
。
testString: assert((function() { delete users.Ryan; return isEveryoneHere(users) })() === false);
```