JavaScript学习者:给出了这个对象:
=
为什么console.log会说var ivan = {
name: 'Ivan',
yearOfBirth: 1973,
age: 2017 - this.yearOfBirth
}
console.log(ivan.age);
?我不能在属性声明中做简单的数学运算吗?如果没有,为什么?
答案 0 :(得分:1)
由于this.yearOfBirth
尚未定义,因此您可以使用匿名函数作为构造函数:
var ivan = new function() {
this.name = 'Ivan',
this.yearOfBirth = 1973,
this.age = 2017 - this.yearOfBirth
};
console.log(ivan.age);