Javascript 从其他并行对象获取值

Javascript 从其他并行对象获取值,javascript,object,Javascript,Object,我有一个里面有两个对象的对象: o = { center : { x:1, y:1 }, startPosition : {x:center.x, y:center.y} } 当然,我有一个错误: ReferenceError: center is not defined 如何获得startPosition内的中心值?试试这个 o = { center : { x:1, y:1 } } o.startPosition = {x:o.ce

我有一个里面有两个对象的对象:

o = {  
  center : { x:1, y:1 },  
  startPosition : {x:center.x, y:center.y}  
}
当然,我有一个错误:

ReferenceError: center is not defined
如何获得startPosition内的中心值?

试试这个

    o = {  
      center : { x:1, y:1 }
    }
  o.startPosition = {x:o.center.x, y:o.center.y}  
您可以尝试:

var o = {
    center: {
        'x':1, 
        'y':1
    }
};
o.startPosition = { 
    'x': o.center.x, 
    'y': o.center.y
};
console.log(o.startPosition.y);

你能告诉我为什么我的例子不起作用吗?范围界定呢?JS有功能范围,没有功能。@Tukkan。因为您正在尝试读取不可用的中心。如果没有对象,则无法读取对象的属性。此外,您不能使用o.center,因为o尚未初始化。
var o = {
    center: {
        'x':1, 
        'y':1
    }
};
o.startPosition = { 
    'x': o.center.x, 
    'y': o.center.y
};
console.log(o.startPosition.y);