【发布时间】:2013-07-21 21:55:01
【问题描述】:
var ball = {
x: 20,
y: 500,
vx: 100,
vy: 100,
width: 13,
height: 13,
draw: function() {
var img = new Image();
img.src = 'images/ball.png';
img.onload = function(){
ctx.drawImage(img, this.x, this.y);
};
},
我希望 drawImage() 代码行引用 ball.x 和 ball.y。而不是使用ball.x和ball.y,我想使用“this”关键字,这样我就可以将球对象变成一个函数,如果我最终想要的话(能够制作ball1,ball2 ,球3等)。我认为“this”不再是指球,因为它在嵌套函数中?如果不将 ball.x 和 ball.y 硬编码到 drawImage 参数中,有什么办法吗?
【问题讨论】:
-
也许在你的 onload 函数中定义一个属性
self: this并用self替换this? -
@jonhopkins 在对象文字中分配
self: this是行不通的。不过,他可以在draw函数中使用var self = this;。 -
最后的逗号和缺少
};会导致语法错误。 -
谢谢大家! @pstanton 这不是 ball 中的最后一个函数。
标签: javascript this