[英]JavaScript: How do I access the prototype of an object inside another object?
[英]How do I access an object through another object?
我正在尝试作为一个初学者创建一个国际象棋游戏,遇到的问题之一是我需要一个棋子架来保持分配给棋子的值。 样片架将更改每个样片的位置,但我需要更改原始样片的值
我尝试添加另一个holder对象,但这将导致相同的问题。 然后,我尝试只留下点点滴滴,看看程序是否无法识别它是否可以正常工作。 然后,我将括号括起来,希望它会被更改然后注册,但是它也不起作用。
function pieces(piece ,posX, posY, moveCount, tileLocation, turn) {
this.piece = piece;
this.posX = posX;
this.posY = posY;
this.moveCount = moveCount;
this.tileLocation = tileLocation;
this.turn = turn;
}
function pieceHolder(pieceHold, extra, turn, color, tile){
this.pieceHold = pieceHold;
this.extra = extra;
this.turn = turn;
this.color = color;
this.tile = tile;
}
onEvent("wpawn1", "click", function() { //"wpawn1" is the id for another button
holder.pieceHold = wpawn1.piece;
holder.extra = 5;
holder.turn = wpawn1.turn;
holder.tile = wpawn1.tileLocation;
});
var holder = new pieceHolder();
var wpawn1 = new pieces("wpawn1", -5, 285, 0, "a2", 0, "w");
var wpawn2 = new pieces("wpawn2", 35, 285, 0, "b2", 0, "w");
holder.piece.tileLocation = holder.tile; // did not work
(holder.piece).tileLocation = holder.tile; // did not work
我希望将holder.piece转换为wpawn1或wpawn2之类的名称。 然后将其注册为wpawn1.tileLocation或wpawn2.tileLocation。 它们都不起作用,程序无法理解我的代码。
尝试这个:
var holder = new pieceHolder({});
构造holder对象时,您不会传递任何内容,因此它是undefined
。 尝试访问holder.piece.tileLocation
您尝试的是undefined
tileLocation。 更好的方法是始终对您的参数使用默认值。
语法很好,但是您尝试在执行onEvent
参数中的回调(函数)之前到达holder
对象的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.