Javascript 构造函数中的函数在访问公共构造函数变量时抛出未定义的错误

Javascript 构造函数中的函数在访问公共构造函数变量时抛出未定义的错误,javascript,refactoring,Javascript,Refactoring,我已经清理了很多动画代码,我遇到了一堆类似但不同的问题 这一次,我在构造函数中有一个构造函数——但这不是问题所在,至少表面上是这样 问题是在这个嵌套构造函数中,有一个普通函数this.draw,它应该引用this.ctx。但这并没有发生。起初我认为可能是因为ctx在被引用之前并没有在加载时声明,但当我把它放在这里时它并没有修复它;只是给它一个占位符 这上面是什么?这是嵌套构造函数的原型调用,.draw函数尝试引用其This.ctx: DrawDeerbra.prototype.Circle=函

我已经清理了很多动画代码,我遇到了一堆类似但不同的问题

这一次,我在构造函数中有一个构造函数——但这不是问题所在,至少表面上是这样

问题是在这个嵌套构造函数中,有一个普通函数this.draw,它应该引用this.ctx。但这并没有发生。起初我认为可能是因为ctx在被引用之前并没有在加载时声明,但当我把它放在这里时它并没有修复它;只是给它一个占位符

这上面是什么?这是嵌套构造函数的原型调用,.draw函数尝试引用其This.ctx:

DrawDeerbra.prototype.Circle=函数{ this.ctx=; 如果this.constructor.count1>=this.constructor.count2{ this.ctx=this.constructor.ctx2; 这个.计数=2; ++这个是.constructor.count2; }否则{ this.ctx=this.constructor.ctx1; 这个.count=1; ++这是constructor.count1; } this.draw=函数{ var ctx=this.ctx; ctx.fillStyle=this.color; ctx.shadowColor=this.color; ctx.shadowBlur=this.size*2*Math.absMath.sinthis.shadowFrame; ctx.beginPath; ctx.arcthis.pos.x,this.pos.y,this.size,0,Math.PI*2; ctx.fill; ctx.closePath; }
}你能告诉我你在哪里打电话吗?很可能您的上下文不正确。Draw可能作为回调传递。多次回答;您应该传递使用bind或传递闭包的内容。您确定它已被多次应答吗?每次的问题都不一样,你能不能说它实际上是如何相同的,而不是仅仅告诉我们是这样的?那些动画和圆圈变量是什么?你希望它们成为你财产的价值吗?是的,它们是DrawDeerbra类的一部分。Circle是一个小类,用于填充用于动画的数组。它们都应该是DrawDeerbra的方法。它们用于绘制动画。