Javascript 对象变量未定义

Javascript 对象变量未定义,javascript,oop,html5-canvas,Javascript,Oop,Html5 Canvas,我对oop概念还不熟悉,所以请在这里帮助我, 每当我使用对象变量时,其中存储的值都是未定义的。 请检查下面的代码 使用该变量而不是var。使用var,您可以创建一个在函数范围内可访问的范围变量,并将变量附加到当前上下文。参考前缀为this.的x,y,r 函数Bubbleq,w,e { 这是x=q; 这个y=w; 这个r=e; var canvas=document.getElementById'mycanvas'; var ctx=canvas.getContext'2d'; ctx.begi

我对oop概念还不熟悉,所以请在这里帮助我, 每当我使用对象变量时,其中存储的值都是未定义的。 请检查下面的代码

使用该变量而不是var。使用var,您可以创建一个在函数范围内可访问的范围变量,并将变量附加到当前上下文。参考前缀为this.的x,y,r

函数Bubbleq,w,e { 这是x=q; 这个y=w; 这个r=e; var canvas=document.getElementById'mycanvas'; var ctx=canvas.getContext'2d'; ctx.beginPath; ctx.arcthis.x,this.y,this.r,0,2*Math.PI; ctx.stroke; } var b1=新气泡100100,50; var b2=新气泡160160,30; 警报B1.x;
在将变量x添加为bubble的属性之前,无法访问该变量。请尝试使用,以访问外部的x。在您的示例中,x是一个私有变量,您将无法访问它

function Bubble(q,w,e)
{
    this.x= q;
    this.y= w;
    this.r = e;
    this.canvas= document.getElementById('mycanvas');
    var ctx = canvas.getContext('2d');

    ctx.beginPath();
    ctx.arc(this.x, this.y, this.r,0,2*Math.PI);
    ctx.stroke();
     }
   var b1 = new Bubble(100,100,50);
   var b2 = new Bubble(160,160,30);
   alert(b1.x); 

请更具体地说明哪个变量的哪个属性未定义?请清楚地说明您的问题。。
function Bubble(q,w,e)
{
    this.x= q;
    this.y= w;
    this.r = e;
    this.canvas= document.getElementById('mycanvas');
    var ctx = canvas.getContext('2d');

    ctx.beginPath();
    ctx.arc(this.x, this.y, this.r,0,2*Math.PI);
    ctx.stroke();
     }
   var b1 = new Bubble(100,100,50);
   var b2 = new Bubble(160,160,30);
   alert(b1.x);