JavaScript类-在私有方法中访问公共变量时遇到问题
这似乎是一个简单的问题,但无法实现 在下面的示例中,调用了unselect,但未定义公共变量“this.backselect”。如果我将unselect方法的代码直接移动到public off方法中,它就会工作 如何在私有方法中检查公共变量?我不明白这为什么不起作用 谢谢JavaScript类-在私有方法中访问公共变量时遇到问题,javascript,Javascript,这似乎是一个简单的问题,但无法实现 在下面的示例中,调用了unselect,但未定义公共变量“this.backselect”。如果我将unselect方法的代码直接移动到public off方法中,它就会工作 如何在私有方法中检查公共变量?我不明白这为什么不起作用 谢谢 function MyClass() { // public vars this.isActive = false; this.backSelected = false; // public
function MyClass()
{
// public vars
this.isActive = false;
this.backSelected = false;
// public methods
this.on = function() {
this.isActive = true;
this.backSelected = true;
// set back button on image
}
this.off = function() {
this.isActive = false;
unselect();
}
// private methods
function unselect() {
if(this.backSelected) {
// set back button off image
}
};
}
var obj=新的MyClass();
obj.on();
obj.off() 您没有在上下文中调用
取消选择
,因此这个
并不是您认为的意思
unselect.apply(this);
您没有在上下文中调用
unselect
,因此这个
并不是您认为的意思
unselect.apply(this);
我想这是正确的。请参阅“特权”部分以获取参考:谢谢!以前从未见过应用方法@加里-也谢谢你的链接,读得很好。我想这是正确的。请参阅“特权”部分以获取参考:谢谢!以前从未见过应用方法@加里-也谢谢你的链接,很好的阅读。