父对象引用

时间:2012-11-21 15:06:09

标签: javascript object

我想我可能会遗漏一些对象引用的内容,在下面的例子中,this引用了测试对象?如果不是,我如何在最后b中声明test.a = test.b

test = {
 a: 1,
 b: this.a,
 check : function(){
  console.log(test.a); // returns 1
  console.log(test.b); // returns undefined
 }
};
test.check();

非常感谢

2 个答案:

答案 0 :(得分:3)

您可以这样声明:

function test(){
   this.a = 1;
   this.b = this.a;

    this.check = function(){
       console.log(this.a);  // output 1
       console.log(this.b); // output 1
    }        
}

var t = new test();
t.check();

实例:http://jsfiddle.net/Rqs86/

答案 1 :(得分:2)

test.b指的是声明对象时this.a的所有内容。

var foo = this;

您不希望this在这里引用foo,对吗?它的工作方式完全相同:

var bar = [ this ];

var baz = { 'blag' : this };