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 ,ball3等)。我認爲「這個」不再是指球,因爲它在嵌套函數中?沒有將ball.x和ball.y硬編碼到drawImage參數的方法嗎?javascript「this」關鍵字不是指正確的東西
也許定義屬性'自我:this'和替換'this'在你的onload功能'self'? – jonhopkins
@jonhopkins在對象文字中指定'self:this'不起作用。不過,他可以在'draw'函數中使用'var self = this;'。 – basilikum
逗號和缺少'};'最後會導致語法錯誤。 – pstanton