Skip to content

Commit 7c7f1ce

Browse files
committed
docs(proxy): edit proxyw
1 parent 2d86fc3 commit 7c7f1ce

File tree

3 files changed

+23
-11
lines changed

3 files changed

+23
-11
lines changed

docs/generator.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1233,7 +1233,7 @@ var clock = function* () {
12331233

12341234
Generator 函数是 ES6 对协程的实现,但属于不完全实现。Generator 函数被称为“半协程”(semi-coroutine),意思是只有 Generator 函数的调用者,才能将程序的执行权还给 Generator 函数。如果是完全执行的协程,任何函数都可以让暂停的协程继续执行。
12351235

1236-
如果将 Generator 函数当作协程,完全可以将多个需要互相协作的任务写成 Generator 函数,它们之间使用`yield`表示式交换控制权
1236+
如果将 Generator 函数当作协程,完全可以将多个需要互相协作的任务写成 Generator 函数,它们之间使用`yield`表达式交换控制权
12371237

12381238
### Generator 与上下文
12391239

docs/proxy.md

+5-7
Original file line numberDiff line numberDiff line change
@@ -595,10 +595,9 @@ var handler = {
595595

596596
`construct`方法可以接受两个参数。
597597

598-
- `target`: 目标对象
599-
- `args`:构建函数的参数对象
600-
601-
下面是一个例子。
598+
- `target`:目标对象
599+
- `args`:构造函数的参数对象
600+
- `newTarget`:创造实例对象时,`new`命令作用的构造函数(下面例子的`p`
602601

603602
```javascript
604603
var p = new Proxy(function () {}, {
@@ -664,11 +663,10 @@ var handler = {
664663
};
665664
var target = {};
666665
var proxy = new Proxy(target, handler);
667-
proxy.foo = 'bar'
668-
// TypeError: proxy defineProperty handler returned false for property '"foo"'
666+
proxy.foo = 'bar' // 不会生效
669667
```
670668

671-
上面代码中,`defineProperty`方法返回`false`导致添加新属性会抛出错误
669+
上面代码中,`defineProperty`方法返回`false`导致添加新属性总是无效
672670

673671
注意,如果目标对象不可扩展(extensible),则`defineProperty`不能增加目标对象上不存在的属性,否则会报错。另外,如果目标对象的某个属性不可写(writable)或不可配置(configurable),则`defineProperty`方法不得改变这两个设置。
674672

docs/regex.md

+17-3
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,20 @@ codePointLength(s) // 2
132132

133133
上面代码中,不加`u`修饰符,就无法识别非规范的`K`字符。
134134

135+
## RegExp.prototype.unicode 属性
136+
137+
正则实例对象新增`unicode`属性,表示是否设置了`u`修饰符。
138+
139+
```javascript
140+
const r1 = /hello/;
141+
const r2 = /hello/u;
142+
143+
r1.unicode // false
144+
r2.unicode // true
145+
```
146+
147+
上面代码中,正则表达式是否设置了`u`修饰符,可以从`unicode`属性看出来。
148+
135149
## y 修饰符
136150

137151
除了`u`修饰符,ES6 还为正则表达式添加了`y`修饰符,叫做“粘连”(sticky)修饰符。
@@ -264,16 +278,16 @@ tokenize(TOKEN_G, '3x + 4')
264278

265279
上面代码中,`g`修饰符会忽略非法字符,而`y`修饰符不会,这样就很容易发现错误。
266280

267-
## sticky 属性
281+
## RegExp.prototype.sticky 属性
268282

269-
`y`修饰符相匹配,ES6 的正则对象多了`sticky`属性,表示是否设置了`y`修饰符。
283+
`y`修饰符相匹配,ES6 的正则实例对象多了`sticky`属性,表示是否设置了`y`修饰符。
270284

271285
```javascript
272286
var r = /hello\d/y;
273287
r.sticky // true
274288
```
275289

276-
## flags 属性
290+
## RegExp.prototype.flags 属性
277291

278292
ES6 为正则表达式新增了`flags`属性,会返回正则表达式的修饰符。
279293

0 commit comments

Comments
 (0)