同じオブジェクト内の変数値にアクセスして、新しい変数を宣言する方法を考えていました。私は試しthis.x
てみobject.x
ました。どちらも言うcannot read property of undefined
。
例えば
var board = {
width: 188,
height: 110,
left: (320 - board.width)/2,
top: (480 - this.height)/8,
};
同じオブジェクト内の変数値にアクセスして、新しい変数を宣言する方法を考えていました。私は試しthis.x
てみobject.x
ました。どちらも言うcannot read property of undefined
。
例えば
var board = {
width: 188,
height: 110,
left: (320 - board.width)/2,
top: (480 - this.height)/8,
};
board
オブジェクトが構築されて代入が実行されるまで は定義されないため、これを行うことはできません。(また、this
関数の外では定義されていません。) 複数のステートメントを使用する必要があります。
var board = { width : 188, height : 110 };
board.left = (320 - board.width) / 2;
board.top = (480 - board.height) / 8;
別の方法:すぐに呼び出される関数式の使用を検討できます。
var board = (function(){
var width = 188
,height = 110;
return {
width: width
,height: height
,left: (320 - width)/2
,top: (480 - height)/8
};
})();