我正在尝试用 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;
}
我找不到如何在没有 TypeScript 语法的情况下使类的所有方法都可用的闭包变量,this.self
并以 JavaScript 方式创建真正的私有成员。