2017-02-11 95 views
-2

我有一個類需要一個對象,我想通過一個函數返回。但是,返回的類型是一個我認爲是對該對象的引用的數字。如何在JS中傳遞和返回對象作爲參數?

class Sprite { 
    constructor(img, x, y) { 
     this._img = img; 
     this._x = x; 
     this._y = y; 
    } 

    get x() { 
     return this._x; 
    } 

    setX(x) { 
     this._x = x; 
    } 

    get y() { 
     return this._y; 
    } 

    setY(y) { 
     this._y = y; 
    } 

    get image() { 
     return this._img; 
    } 
} 

function main() { 
    var gameCanvas = document.getElementById("gameCanvas"); 
    var avatarImage = new Image(); 

    avatarImage.src = "avatar.png"; 

    var avatar = new Sprite(150, 150, avatarImage); 

    gameCanvas.getContext("2d").drawImage(avatar.image, avatar.x, avatar.y); 
} 

如何返回對象而不是參考?

console.log(typeof(avatar.image)); // prints number instead of object 

回答

2

你有一個錯字

// change this 
var avatar = new Sprite(150, 150, avatarImage); 

// to this 
var avatar = new Sprite(avatarImage, 150, 150); 
+0

謝謝。我不相信我搞亂了我自己班級的秩序。 – drum

+0

不用擔心 - 它會發生:) – aaaaaa

相關問題