在财产申报中不能做数学运算?

时间:2017-12-02 19:04:13

标签: javascript object

JavaScript学习者:给出了这个对象:

=

为什么console.log会说var ivan = { name: 'Ivan', yearOfBirth: 1973, age: 2017 - this.yearOfBirth } console.log(ivan.age);?我不能在属性声明中做简单的数学运算吗?如果没有,为什么?

1 个答案:

答案 0 :(得分:1)

由于this.yearOfBirth尚未定义,因此您可以使用匿名函数作为构造函数:

var ivan = new function() {
    this.name = 'Ivan',
    this.yearOfBirth = 1973,
    this.age = 2017 - this.yearOfBirth
};
console.log(ivan.age);