对象变量未定义

拉胡尔

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


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

  ctx.beginPath();
  ctx.arc(x,y,r,0,2*Math.PI);
  ctx.stroke();
}

var b1 = new Bubble(100,100,50);
var b2 = new Bubble(160,160,30);
alert(b1.x);    
苏伦·斯拉皮安

使用this代替var随着var创建一个范围变量这是在访问function scope,与this你附上你的变量当前上下文。请参阅x, y, r带有前缀的this.

function Bubble(q,w,e)
{
   this.x = q;
   this.y = w;
   this.r = e;
   var 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);
<canvas id="mycanvas"></canvas>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章