例如我有一个对象A={};A.options=
{
attr1:100,
attr2:300,
attr3:attr1*attr2
}
此时将报错。如果我attr3想在这对象里面访问attr1跟attr2,应该怎么写?
A={};
A.options=
{
attr1:100,
attr2:300,
attr3:function(){
return attr1*attr2
}
}
获取attr3的值: var value = A.options.attr3();
A={};
A.options=
{
attr1:100,
attr2:300,
attr3:function(){
return this.attr1*this.attr2 //少了调用指派
}
}
获取attr3的值: var value = A.options.attr3();
var A={};
var subOptions = {attr1:100,attr2:300};
A.options=
{
subOptions:subOptions,
attr3:subOptions.attr1*subOptions.attr2
}
嗯,酱紫
申明对象时自引用不到,会报错。。
A = {};
A.options =
{
attr1: 100,
attr2: 300,
attr3: function () { return this.attr1 + this.attr2 }//(function (a1, a2) { return a1 + a2 })(A.options.attr1, A.options.attr2),原本想这样,报错了,此时A还没options属性
}