2017-02-11 6 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