function add (a, b) {
this.a = a;
this.b = b;
}
// 实列取不到值,只有函数.属性
add.c = 10;
add.sql = '';
// 实列能取到,函数.属性取不到
add.prototype.d = 10;
const proxy_add = new Proxy(add, {
construct: function (target, args) {
return new target(...args);
},
// target是构造时的对象, property是.某个属性时的属性名(如: proxy.c --> property = c)
get: function (target, property) {
if (property === 'sql') {
return target[property];
}
target.sql += property + ' ';
return proxy_add;
},
});
let cc = new proxy_add(1, 2, 3);
console.log(cc.a + cc.b + cc.d);
console.log(proxy_add.select.username.from.users.where.user_id.equal.sql);
// 13
// select username from users where user_id equal
proxy
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 最近在国外的一台机器上部署了公司的代码,但是因为有很多的图片资源,所以国内访问很慢,而客户这段时间刚好在国内,所以...
- 报错如下: 解决办法:在RCTWebSocketExecutor.m文件里面的setup方法里面,修改host为电...
- SpringBoot 版本使用说明 Spring Boot 1.2.1.RELEASE 要求的jdk版本是1.6 ...
- 记:AOP二次代理导致的错误。 前提: spring自己使用了自己的AOP。 集成shiro,shiro使用AOP...
- 参考:1.IJKPlayer问题集锦之不定时更新http://www.jianshu.com/p/220b00d0...