diff --git a/docs/proxy.md b/docs/proxy.md index 54d6280..71ae788 100644 --- a/docs/proxy.md +++ b/docs/proxy.md @@ -249,49 +249,24 @@ arr[-1] // c ```javascript var pipe = (function () { - var pipe; return function (value) { - pipe = []; - return new Proxy({}, { - get: function (pipeObject, fnName) { - if (fnName == "get") { - return pipe.reduce(function (val, fn) { + var funcStack = []; + var oproxy = new Proxy({} , { + get : function (pipeObject, fnName) { + if (fnName === 'get') { + return funcStack.reduce(function (val, fn) { return fn(val); - }, value); + },value); } - pipe.push(window[fnName]); - return pipeObject; + funcStack.push(window[fnName]); + return oproxy; } }); + + return oproxy; } }()); -var double = n => n * 2; -var pow = n => n * n; -var reverseInt = n => n.toString().split('').reverse().join('') | 0; - -pipe(3).double.pow.reverseInt.get -// 63 - -var pipe = (function () { - return function (value) { - var funcStack = []; // 认为和上面pipe同名不利于理解,换了一个名 - var oproxy = new Proxy({} , { // 使用了一个oproxy 存储Proxy的指向 - get : function (pipeObject , fnName) { - if (fnName === "get") { - return funcStack.reduce(function (val , fn) { - return fn(val); - },value); - } - funcStack.push(window[fnName]); - return oproxy; - } - }); - - return oproxy; - } -}()); - var double = n => n * 2; var pow = n => n * n; var reverseInt = n => n.toString().split("").reverse().join("") | 0;