我知道我可以将对象嵌套在对象中并轻松回忆它们:
var ex1 = {
data1: 1,
dataOb: {
data1: 2,
data2: ex1.data1 + ex1.dataO.data1,
}
}
我可以console.log(ex1.dataO.data1)
,但我无法回想起dataOb
到ex1.data1
示例:data2: ex1.data1 + dataOb.data1
不起作用,所以我的问题是有可能召回从DataOb到父对象ex1?
答案 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