0

同じオブジェクト内の変数値にアクセスして、新しい変数を宣言する方法を考えていました。私は試し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, 
};
4

2 に答える 2

2

boardオブジェクトが構築されて代入が実行されるまで は定義されないため、これを行うことはできません。(また、this関数の外では定義されていません。) 複数のステートメントを使用する必要があります。

var board = { width : 188, height : 110 };
board.left = (320 - board.width) / 2;
board.top = (480 - board.height) / 8;
于 2012-09-09T07:15:00.937 に答える
1

別の方法:すぐに呼び出される関数式の使用を検討できます。

var board = (function(){
    var width = 188 
       ,height = 110;
     return {
          width: width
         ,height: height
         ,left: (320 - width)/2
         ,top: (480 - height)/8
     };
   })();
于 2012-09-09T07:32:20.307 に答える