bind与继承 待研究
2024-10-03 11:08:58
class a {
f() {
console.log('a')
}
get f2() {
console.log('f2')
return (this['f'] = this.f.bind(this));
}
} class b extends a {
constructor() {
super()
this.f = this.f.bind(this)
}
f() {
console.log('b')
super.f2();
}
get f2() {
return (this['f'] = this.f.bind(this));
}
} let instance = new b();
instance.f2(); // for (var i = 0; i < 5; ++i) {
// console.log('invoking');
// instance.f2();
// console.log('---');
// }
class a {
// constructor() {
// this.f2 = this.f.bind(this);
// }
f() {
console.log('a')
}
f2() {
// console.log(this)
console.log('f2')
if (!this.f3) {
this.f3 = this.f.bind(this);
}
return this.f3
}
} class b extends a {
// constructor() {
// super()
// this.f = this.f.bind(this)
// }
constructor() {
super();
this.f2 = this.f.bind(this);
}
f() {
console.log('b')
super.f2();
this.f2 = this.f.bind(this);
}
// get f2() {
// console.log(this)
// return (this['f'] = this.f.bind(this));
// }
} let instance = new b();
instance.f2(); for (var i = 0; i < 5; ++i) {
console.log('invoking');
instance.f2();
console.log('---');
}
https://github.com/jayphelps/core-decorators/pull/21
https://github.com/jayphelps/core-decorators/blob/master/src/autobind.js
https://github.com/jayphelps/core-decorators/issues/20 autobind用weakmap的原因
最新文章
- Js 实现登录验证码
- Python之反射,正则
- 带权图的最短路径算法(Dijkstra)实现
- CI重定向:php(codeigniter)中如何重定向
- ABAP--如何在ALV_Grid的函数中定义下拉列表
- C++之路进阶——codevs2313(星际竞速)
- JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)
- ActionBar官方教程(7)自定义操作项的view,如何得到它及处理它的事件
- 利用jks2pfx转换keystore格式的证书为pfs格式(含秘钥和证书的形式)
- C# base和this[转]
- Java中的Runtime类
- 发散问题——Spring容器及加载
- Ext4中内存使用技巧的一点思考
- [转载]OpenStack OVS GRE/VXLAN网络
- 深度学习(九) 深度学习最全优化方法总结比较(SGD,Momentum,Nesterov Momentum,Adagrad,Adadelta,RMSprop,Adam)
- 章节九、3-Desired Capabilities介绍
- Percona-Toolkit 之 pt-table-checksum 总结
- data science学习笔记1
- python框架之Flask(1)-Flask初使用
- C#_Math函数总结