0

我想知道如何通过访问同一对象中的变量值来声明新变量。我试过this.xobject.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 回答