我想知道如何通过访问同一对象中的变量值来声明新变量。我尝试了this.x
和object.x
。两人都说cannot read property of undefined
。
e.g。
var board = {
width: 188,
height: 110,
left: (320 - board.width)/2,
top: (480 - this.height)/8,
};
答案 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
};
})();