[英]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.