1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-24 18:32:22 +00:00

perf: remove unnecessary closure

This commit is contained in:
jianjian 2020-03-13 18:30:23 +08:00 committed by GitHub
parent 428a748208
commit 0f6569795d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -214,24 +214,22 @@ arr[-1] // c
利用 Proxy可以将读取属性的操作`get`),转变为执行某个函数,从而实现属性的链式操作。
```javascript
var pipe = (function () {
return function (value) {
var funcStack = [];
var oproxy = new Proxy({} , {
get : function (pipeObject, fnName) {
if (fnName === 'get') {
return funcStack.reduce(function (val, fn) {
return fn(val);
},value);
}
funcStack.push(window[fnName]);
return oproxy;
var pipe = function (value) {
var funcStack = [];
var oproxy = new 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;
}
}());
return oproxy;
}
var double = n => n * 2;
var pow = n => n * n;