使用self属性的javascript对象属性

时间:2013-05-22 12:37:40

标签: javascript

是否可以使用当前对象的属性为decalred为对象属性赋值?

var myObject = new Object({ 
    a: 1, 
    b: 2, 
    c: this.a + this.b // is this possible ? ( or even myObject.a + myObject.c)
});

我知道我可以将其声明如下,但是可能如上所述吗?

myObject.c = myObject.a + myObject + b;

1 个答案:

答案 0 :(得分:1)

一个简单的控制台日志应该向您显示代码的工作原理,但是会给出NaN。将代码修改为以下示例并运行后:

var myObject = new Object({
     a: 1,
     b: 2,
     c: console.log(this.a + this.b)
});
myObject.c;

结果是:NaN为什么?当您创建myObject this时绑定到document对象,该对象显然没有属性ab。也许这对您有用:< / p>

var myObject = new Object({
     a: 1,
     b: 2,
     c: function () {
         return this.a + this.b;
     }
});
myObject.c();

查看以下问题:stackoverflow.com/questions/133973/了解有关javascript对象文字中this的更多信息