Skip to content

Commit 472248d

Browse files
committed
docs(bom): fix location wangdoc#52
1 parent 07404df commit 472248d

File tree

1 file changed

+17
-15
lines changed

1 file changed

+17
-15
lines changed

docs/bom/location.md

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,17 @@ URL 是互联网的基础设施之一。浏览器提供了一些原生对象,
1010

1111
`Location`对象提供以下属性。
1212

13-
- Location.href:整个 URL。
14-
- Location.protocol:当前 URL 的协议,包括冒号(`:`)。
15-
- Location.host:主机,包括冒号(`:`)和端口(默认的80端口和443端口会省略)。
16-
- Location.hostname:主机名,不包括端口。
17-
- Location.port:端口号。
18-
- Location.pathname:URL 的路径部分,从根路径`/`开始。
19-
- Location.search:查询字符串部分,从问号`?`开始。
20-
- Location.hash:片段字符串部分,从`#`开始。
21-
- Location.username:域名前面的用户名。
22-
- Location.password:域名前面的密码。
23-
- Location.origin:URL 的协议、主机名和端口。
13+
- `Location.href`:整个 URL。
14+
- `Location.protocol`:当前 URL 的协议,包括冒号(`:`)。
15+
- `Location.host`:主机,包括冒号(`:`)和端口(默认的80端口和443端口会省略)。
16+
- `Location.hostname`:主机名,不包括端口。
17+
- `Location.port`:端口号。
18+
- `Location.pathname`:URL 的路径部分,从根路径`/`开始。
19+
- `Location.search`:查询字符串部分,从问号`?`开始。
20+
- `Location.hash`:片段字符串部分,从`#`开始。
21+
- `Location.username`:域名前面的用户名。
22+
- `Location.password`:域名前面的密码。
23+
- `Location.origin`:URL 的协议、主机名和端口。
2424

2525
```javascript
2626
// 当前网址为
@@ -115,12 +115,14 @@ window.location.reload(true);
115115

116116
## URL 的编码和解码
117117

118-
网页的 URL 只能包含合法的字符,这可以分成两类
118+
网页的 URL 只能包含合法的字符。合法字符分成两类
119119

120-
- URL 元字符:分号(`;`),逗号(','),斜杠(`/`),问号(`?`),冒号(`:`),at(`@`),`&`,等号(`=`),加号(`+`),美元符号(`$`),井号(`#`
121-
- 语义字符:`a-z``A-Z``0-9`,连词号(`-`),下划线(`_`),点(`.`),感叹号(`!`),波浪线(`~`),星号(`*`),单引号(`\``),圆括号(`()`)
120+
- URL 元字符:分号(`;`),逗号(`,`),斜杠(`/`),问号(`?`),冒号(`:`),at(`@`),`&`,等号(`=`),加号(`+`),美元符号(`$`),井号(`#`
121+
- 语义字符:`a-z``A-Z``0-9`,连词号(`-`),下划线(`_`),点(`.`),感叹号(`!`),波浪线(`~`),星号(`*`),单引号(`'`),圆括号(`()`
122122

123-
除了以上字符,其他字符出现在 URL 之中都必须转义,规则是根据操作系统的默认编码,将每个字节转为百分号(`%`)加上两个大写的十六进制字母。比如,UTF-8 的操作系统上,`http://www.example.com/q=春节`这个 URL 之中,汉字“春节”不是 URL 的合法字符,所以被浏览器自动转成`http://www.example.com/q=%E6%98%A5%E8%8A%82`。其中,“春”转成了`%E6%98%A5`,“节”转成了“%E8%8A%82”。这是因为“春”和”节“的 UTF-8 编码分别是`E6 98 A5``E8 8A 82`,将每个字节前面加上百分号,就构成了 URL 编码。
123+
除了以上字符,其他字符出现在 URL 之中都必须转义,规则是根据操作系统的默认编码,将每个字节转为百分号(`%`)加上两个大写的十六进制字母。
124+
125+
比如,UTF-8 的操作系统上,`http://www.example.com/q=春节`这个 URL 之中,汉字“春节”不是 URL 的合法字符,所以被浏览器自动转成`http://www.example.com/q=%E6%98%A5%E8%8A%82`。其中,“春”转成了`%E6%98%A5`,“节”转成了`%E8%8A%82`。这是因为“春”和”节“的 UTF-8 编码分别是`E6 98 A5``E8 8A 82`,将每个字节前面加上百分号,就构成了 URL 编码。
124126

125127
JavaScript 提供四个 URL 的编码/解码方法。
126128

0 commit comments

Comments
 (0)