在某些代码中,使用了以下模式:
function Container(param) {
function dec() {
if (secret > 0) {
secret -= 1;
return true;
} else {
return false;
}
}
this.member = param;
var secret = 3;
var that = this;
this.service = function () {
return dec() ? that.member : null;
};
}
为了访问外部对象,因为this
将引用当前函数。但是,如果我这样做:
class something {
constructor () {
this.test = 3;
}
other () {
this.test2 = 5;
}
}
var e = new something();
e.other();
this
中的other
最终在test2
而非e
上设置了other
。如何区分这些情况?