2018-10-10 18:03:03 -04:00
|
|
|
---
|
|
|
|
id: 567af2437cbaa8c51670a16c
|
2020-12-16 00:37:30 -07:00
|
|
|
title: 测试对象的属性
|
2018-10-10 18:03:03 -04:00
|
|
|
challengeType: 1
|
2020-04-29 18:29:13 +08:00
|
|
|
videoUrl: 'https://scrimba.com/c/cm8Q7Ua'
|
|
|
|
forumTopicId: 18324
|
2018-10-10 18:03:03 -04:00
|
|
|
---
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
# --description--
|
|
|
|
|
|
|
|
有时检查一个对象属性是否存在是非常有用的,我们可以用`.hasOwnProperty(propname)`方法来检查对象是否有该属性。如果有返回`true`,反之返回`false`。
|
|
|
|
|
|
|
|
**示例**
|
2020-04-29 18:29:13 +08:00
|
|
|
|
|
|
|
```js
|
|
|
|
var myObj = {
|
|
|
|
top: "hat",
|
|
|
|
bottom: "pants"
|
|
|
|
};
|
|
|
|
myObj.hasOwnProperty("top"); // true
|
|
|
|
myObj.hasOwnProperty("middle"); // false
|
|
|
|
```
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
# --instructions--
|
2018-10-10 18:03:03 -04:00
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
修改函数`checkObj`检查`myObj`是否有`checkProp`属性,如果属性存在,返回属性对应的值,如果不存在,返回`"Not Found"`。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
# --hints--
|
2018-10-10 18:03:03 -04:00
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
`checkObj("gift")`应该返回`"pony"`。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
```js
|
|
|
|
assert(checkObj('gift') === 'pony');
|
2018-10-10 18:03:03 -04:00
|
|
|
```
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
`checkObj("pet")`应该返回`"kitten"`。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
|
|
```js
|
2020-12-16 00:37:30 -07:00
|
|
|
assert(checkObj('pet') === 'kitten');
|
2018-10-10 18:03:03 -04:00
|
|
|
```
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
`checkObj("house")`应该返回`"Not Found"`。
|
2020-04-29 18:29:13 +08:00
|
|
|
|
2018-10-10 18:03:03 -04:00
|
|
|
```js
|
2020-12-16 00:37:30 -07:00
|
|
|
assert(checkObj('house') === 'Not Found');
|
2018-10-10 18:03:03 -04:00
|
|
|
```
|
2020-04-29 18:29:13 +08:00
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
# --solutions--
|
|
|
|
|