Javascript嵌套和调用对象

时间:2014-03-27 19:32:08

标签: javascript

我知道我可以将对象嵌套在对象中并轻松回忆它们:

var ex1 = {
    data1: 1,
    dataOb: {
        data1: 2,
        data2: ex1.data1 + ex1.dataO.data1,
    }
}

我可以console.log(ex1.dataO.data1),但我无法回想起dataObex1.data1示例:data2: ex1.data1 + dataOb.data1不起作用,所以我的问题是有可能召回从DataOb到父对象ex1?

3 个答案:

答案 0 :(得分:0)

没有。在您定义data2时,您仍然处于定义ex1的过程中。也就是说,它还没有存在。在您完成定义之前,您正尝试访问它。

答案 1 :(得分:0)

如果我理解你正确的问题......你想在同一个句子中使用ex1.data1来创建整个对象吗?

这是不可能的!

您想要访问尚未创建的引用。

这就像这样:

var a = a + 1;

如果a尚未宣布,您如何设置a的值加1?

答案 2 :(得分:0)

您可以这样做:

var ex1 = {
  data1: 1,
  dataOb: {
    data1: 2,
    data2: 4
  },
  getSum: function () {
    var sum = 0;
    for ( var i = 0; i < arguments.length; i++ ) {
      sum += arguments[i];
    }

    return sum;

  }
};

console.log(ex1.getSum(ex1.data1, ex1.dataOb.data1)); // should log 3