引用他人网站,
1.使用proxy实现 函数链式调用
添加链接描述
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;
}
});
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