2018-10-10 18:03:03 -04:00
|
|
|
---
|
|
|
|
id: 56533eb9ac21ba0edf2244c7
|
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/cGryJs8'
|
|
|
|
forumTopicId: 16164
|
2018-10-10 18:03:03 -04:00
|
|
|
---
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
# --description--
|
|
|
|
|
|
|
|
有两种方式访问对象属性,一个是点操作符(`.`),一个是中括号操作符(`[]`)。
|
|
|
|
|
2020-04-29 18:29:13 +08:00
|
|
|
当你知道所要读取的属性的名称的时候,使用点操作符。
|
2020-12-16 00:37:30 -07:00
|
|
|
|
2020-04-29 18:29:13 +08:00
|
|
|
这是一个使用点操作符读取对象属性的例子:
|
|
|
|
|
|
|
|
```js
|
|
|
|
var myObj = {
|
|
|
|
prop1: "val1",
|
|
|
|
prop2: "val2"
|
|
|
|
};
|
|
|
|
var prop1val = myObj.prop1; // val1
|
|
|
|
var prop2val = myObj.prop2; // val2
|
|
|
|
```
|
|
|
|
|
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
|
|
|
通过点操作符读取对象`testObj`,把`hat`的属性值赋给变量`hatValue`,把`shirt`的属性值赋给`shirtValue`。
|
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
|
|
|
`hatValue`应该是一个字符串。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
|
|
```js
|
2020-12-16 00:37:30 -07:00
|
|
|
assert(typeof hatValue === 'string');
|
2018-10-10 18:03:03 -04:00
|
|
|
```
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
`hatValue`的值应该是`"ballcap"`。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
```js
|
|
|
|
assert(hatValue === 'ballcap');
|
|
|
|
```
|
2018-10-10 18:03:03 -04:00
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
`shirtValue`应该是一个字符串。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
|
|
```js
|
2020-12-16 00:37:30 -07:00
|
|
|
assert(typeof shirtValue === 'string');
|
2018-10-10 18:03:03 -04:00
|
|
|
```
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
`shirtValue`的值应该是`"jersey"`。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
```js
|
|
|
|
assert(shirtValue === 'jersey');
|
|
|
|
```
|
2018-10-10 18:03:03 -04:00
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
你应该使用点操作符两次。
|
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(code.match(/testObj\.\w+/g).length > 1);
|
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--
|
|
|
|
|