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:
parent
428a748208
commit
0f6569795d
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user