首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >父对象引用

父对象引用
EN

Stack Overflow用户
提问于 2012-11-21 23:06:09
回答 2查看 243关注 0票数 2

我想我可能遗漏了一些关于对象引用的东西,在下面的例子中,this是否引用了测试对象?如果没有,我怎么能在最后的test.a = test.b中声明b呢?

代码语言:javascript
复制
test = {
 a: 1,
 b: this.a,
 check : function(){
  console.log(test.a); // returns 1
  console.log(test.b); // returns undefined
 }
};
test.check();

非常感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-21 23:14:11

您可以这样声明它:

代码语言:javascript
复制
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/

票数 3
EN

Stack Overflow用户

发布于 2012-11-21 23:09:23

在声明对象时,test.b指的是this.a

代码语言:javascript
复制
var foo = this;

你不会期望this在这里提到foo,对吧?它在这里的工作原理完全相同:

代码语言:javascript
复制
var bar = [ this ];

代码语言:javascript
复制
var baz = { 'blag' : this };
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13496088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档