使用同一对象中的其他变量声明变量

时间:2012-09-09 07:08:58

标签: javascript variables

我想知道如何通过访问同一对象中的变量值来声明新变量。我尝试了this.xobject.x。两人都说cannot read property of undefined

e.g。

var board = {
    width: 188, 
    height: 110, 
    left: (320 - board.width)/2,
    top: (480 - this.height)/8, 
};

2 个答案:

答案 0 :(得分:2)

您不能这样做,因为在构造对象并执行赋值之后才定义board。 (另外,this未在函数外定义。)您必须使用多个语句。

var board = { width : 188, height : 110 };
board.left = (320 - board.width) / 2;
board.top = (480 - board.height) / 8;

答案 1 :(得分:1)

替代方案:您可以考虑使用immediately invoked function expression

var board = (function(){
    var width = 188 
       ,height = 110;
     return {
          width: width
         ,height: height
         ,left: (320 - width)/2
         ,top: (480 - height)/8
     };
   })();