博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ES6 Proxy 链式操作
阅读量:6647 次
发布时间:2019-06-25

本文共 568 字,大约阅读时间需要 1 分钟。

ES6 Proxy 链式操作

最近在看,对于代理的链式操作,这里记录一下我的理解

一言不合先贴代码!
图片描述

首先. 利用闭包执行pipe(3)返回一个新的proxy对象。紧接着调用pipe(3).double,根据proxy拦截规则的定义:

get(target, propKey, receiver)

拦截对象属性的读取,比如proxy.foo和proxy['foo']。

会调用返回的这个新的proxy对象的get方法,其中参数target是pipe(3),fnName是double,如果fnName全等于get,执行reduce方法,否则将该方法放入到funcStack数组中,并返回又一个新的Proxy对象,以便继续链式调用下去。

其次. 最后fnName全等于get,执行reduce方法

reduce 方法 (Array) (JavaScript)

对数组中的所有元素调用指定的回调函数。该回调函数的返回值为累积结果,并且此返回值在下一次调用该回调函数时作为参数提供。

pipe(3)中的参数作为reduce的初始值,执行double方法,并将执行结果作为回调函数的第一个参数。

最后. 浏览器的全局对象是window,node的全局对象是global,阮老师的这个例子要放到页面上运行,直接在node中运行会报错。

图片描述

参考链接:

转载地址:http://ssyto.baihongyu.com/

你可能感兴趣的文章
《编译与反编译技术》—第2章2.4正规式和有穷自动机的等价性
查看>>
MySQL Group Replication 学习笔记—group replication 小结
查看>>
[译文]MySQL发生死锁肿么办?by何金龙
查看>>
《写给程序员的数据挖掘实践指南》——1.2并不只是对象
查看>>
如何在树莓派 2B 上安装 FreeBSD
查看>>
《Oracle PL/SQL必知必会》——1.3 试一试
查看>>
《玩转微信6.0》一第1章 邂逅微信
查看>>
《策略驱动型数据中心——ACI技术详解》——1.3 数据中心设计
查看>>
《Cucumber:行为驱动开发指南》——2.4 实现第一个步骤定义
查看>>
《PHP、MySQL和Apache入门经典(第5版)》一一1.6 故障排除
查看>>
移动App性能测评与优化1.2.1 测试流程
查看>>
《iOS组件与框架——iOS SDK高级特性剖析》——第8章,第8.5节解决冲突
查看>>
《深入理解JavaScript》——2.7 JavaScript有前途吗
查看>>
《树莓派渗透测试实战》——2.8 SSH默认私钥和管理
查看>>
《响应式Web图形设计》一13.3 自适应图像解决方案
查看>>
未来医疗趋势之健康游戏化
查看>>
《Python高手之路》——2.2 标准库
查看>>
《Android 应用案例开发大全(第3版)》——第2.5节 辅助绘制类
查看>>
《Python机器学习——预测分析核心算法》——1.6 各章内容及其依赖关系
查看>>
CentOS: 开放80、22、3306等端口操作
查看>>