Skip to content

Commit 4ba798a

Browse files
committed
doc(proxy): 修改proxy链式使用的例子
1 parent 8482c89 commit 4ba798a

File tree

1 file changed

+10
-35
lines changed

1 file changed

+10
-35
lines changed

docs/proxy.md

+10-35
Original file line numberDiff line numberDiff line change
@@ -249,47 +249,22 @@ arr[-1] // c
249249

250250
```javascript
251251
var pipe = (function () {
252-
var pipe;
253252
return function (value) {
254-
pipe = [];
255-
return new Proxy({}, {
256-
get: function (pipeObject, fnName) {
257-
if (fnName == "get") {
258-
return pipe.reduce(function (val, fn) {
253+
var funcStack = [];
254+
var oproxy = new Proxy({} , {
255+
get : function (pipeObject, fnName) {
256+
if (fnName === 'get') {
257+
return funcStack.reduce(function (val, fn) {
259258
return fn(val);
260-
}, value);
259+
},value);
261260
}
262-
pipe.push(window[fnName]);
263-
return pipeObject;
261+
funcStack.push(window[fnName]);
262+
return oproxy;
264263
}
265264
});
266-
}
267-
}());
268-
269-
var double = n => n * 2;
270-
var pow = n => n * n;
271-
var reverseInt = n => n.toString().split('').reverse().join('') | 0;
272265

273-
pipe(3).double.pow.reverseInt.get
274-
// 63
275-
276-
var pipe = (function () {
277-
return function (value) {
278-
var funcStack = []; // 认为和上面pipe同名不利于理解,换了一个名
279-
var oproxy = new Proxy({} , { // 使用了一个oproxy 存储Proxy的指向
280-
get : function (pipeObject , fnName) {
281-
if (fnName === "get") {
282-
return funcStack.reduce(function (val , fn) {
283-
return fn(val);
284-
},value);
285-
}
286-
funcStack.push(window[fnName]);
287-
return oproxy;
288-
}
289-
});
290-
291-
return oproxy;
292-
}
266+
return oproxy;
267+
}
293268
}());
294269

295270
var double = n => n * 2;

0 commit comments

Comments
 (0)