【发布时间】:2012-10-07 16:44:47
【问题描述】:
我正在尝试用 TypeScript 重写我的一个有用的 JavaScript 类。
在我的 JavaScript 类中,我使用闭包变量 self 来实现私有字段。
它在事件处理程序中很有用,例如onkeypress,了解事件的调用者和我的类的当前实例很重要。
var MyClass = function (valueHolder) {
var self = this;
this.valueHolder = valueHolder;
MyClass.prototype.DoUsefullactions = function (value) {
alert(value);
}
MyClass.prototype.onclickForHolder = function (e) {
var value = $(this).val(); //value from attached input
self.DoUsefullactions(value);
}
MyClass.prototype.GetSelf = function () {
return self;
}
this.valueHolder.onclick = this.onclickForHolder;
}
我找不到如何在没有this.self TypeScript 语法的情况下使类的所有方法都可以使用什么闭包变量,并以 JavaScript 方式创建真正的私有成员。
【问题讨论】:
-
在构造函数中为原型分配属性并不好。它会在每个构造函数调用上分配这个。
-
谢谢,仅供参考
标签: javascript closures typescript