Javascript 如何在JS中作为参数传递和返回对象?

Javascript 如何在JS中作为参数传递和返回对象?,javascript,javascript-objects,Javascript,Javascript Objects,我有一个类,它接受一个对象,我想通过函数返回这个对象。但是,返回的类型是一个数字,我假设它是对对象的引用 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;

我有一个类,它接受一个对象,我想通过函数返回这个对象。但是,返回的类型是一个数字,我假设它是对对象的引用

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
你有打字错误

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

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

非常感谢。真不敢相信我把自己班上的秩序搞砸了。别担心——这种事经常发生:)