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);
非常感谢。真不敢相信我把自己班上的秩序搞砸了。别担心——这种事经常发生:)