From bdc65fb29d8c4baddc564805f02e25292e94c896 Mon Sep 17 00:00:00 2001 From: new9xgh <244013304@qq.com> Date: Thu, 22 Nov 2018 14:23:18 +0800 Subject: [PATCH] update reflect --- docs/reflect.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/reflect.md b/docs/reflect.md index 7ee1dbc..0af5a1d 100644 --- a/docs/reflect.md +++ b/docs/reflect.md @@ -42,7 +42,7 @@ Proxy(target, { set: function(target, name, value, receiver) { var success = Reflect.set(target,name, value, receiver); if (success) { - log('property ' + name + ' on ' + target + ' set to ' + value); + console.log('property ' + name + ' on ' + target + ' set to ' + value); } return success; } @@ -186,7 +186,7 @@ myObject.foo // 4 myReceiverObject.foo // 1 ``` -注意,如果 Proxy 对象和 Reflect 对象联合使用,前者拦截赋值操作,后者完成赋值的默认行为,而且传入了`receiver`,那么`Reflect.set`会触发`Proxy.defineProperty`拦截。 +注意,如果 `Proxy`对象和 `Reflect`对象联合使用,前者拦截赋值操作,后者完成赋值的默认行为,而且传入了`receiver`,那么`Reflect.set`会触发`Proxy.defineProperty`拦截。 ```javascript let p = { @@ -210,7 +210,7 @@ obj.a = 'A'; // defineProperty ``` -上面代码中,`Proxy.set`拦截里面使用了`Reflect.set`,而且传入了`receiver`,导致触发`Proxy.defineProperty`拦截。这是因为`Proxy.set`的`receiver`参数总是指向当前的 Proxy 实例(即上例的`obj`),而`Reflect.set`一旦传入`receiver`,就会将属性赋值到`receiver`上面(即`obj`),导致触发`defineProperty`拦截。如果`Reflect.set`没有传入`receiver`,那么就不会触发`defineProperty`拦截。 +上面代码中,`Proxy.set`拦截里面使用了`Reflect.set`,而且传入了`receiver`,导致触发`Proxy.defineProperty`拦截。这是因为`Proxy.set`的`receiver`参数总是指向当前的 `Proxy`实例(即上例的`obj`),而`Reflect.set`一旦传入`receiver`,就会将属性赋值到`receiver`上面(即`obj`),导致触发`defineProperty`拦截。如果`Reflect.set`没有传入`receiver`,那么就不会触发`defineProperty`拦截。 ```javascript let p = {