是否可以使用正在贴花的当前对象的属性为对象属性赋值?
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;
是否可以使用正在贴花的当前对象的属性为对象属性赋值?
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;
一个简单的控制台日志应该会向您展示为什么您的代码有效但给出了NaN
. 将代码修改为以下示例并运行后:
var myObject = new Object({
a: 1,
b: 2,
c: console.log(this.a + this.b)
});
myObject.c;
结果是:NaN
为什么?当您创建myObject
this
的对象绑定到document
显然没有属性a
和b
. 也许这对您有用:
var myObject = new Object({
a: 1,
b: 2,
c: function () {
return this.a + this.b;
}
});
myObject.c();
检查这个问题:stackoverflow.com/questions/133973/以了解更多关于this
javascript对象文字的信息