File tree 1 file changed +10
-35
lines changed
1 file changed +10
-35
lines changed Original file line number Diff line number Diff line change @@ -249,47 +249,22 @@ arr[-1] // c
249
249
250
250
``` javascript
251
251
var pipe = (function () {
252
- var pipe;
253
252
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 ) {
259
258
return fn (val);
260
- }, value);
259
+ },value);
261
260
}
262
- pipe .push (window [fnName]);
263
- return pipeObject ;
261
+ funcStack .push (window [fnName]);
262
+ return oproxy ;
264
263
}
265
264
});
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 ;
272
265
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
+ }
293
268
}());
294
269
295
270
var double = n => n * 2 ;
You can’t perform that action at this time.
0 commit comments