在object literal中使用object's函数

Using an object's function inside object literal

本文关键字:object 函数 literal      更新时间:2023-09-26

是否可以同时定义一个函数并在对象的文字符号中使用它?

var solution1 = {
  compute: function() {
    var toplam = 0;
    for (var i = 1; i < 1000; i++) {
      if (i % 3 == 0 || i % 5 == 0)
        toplam += i;
    }
    return toplam;
  },
  answer: solution1.compute() //This is the problem.
}

在定义时,solution1将是undefined

使用getter代替

var solution1 = {
  compute: function() {
    var toplam = 0;
    for (var i = 1; i < 1000; i++) {
      if (i % 3 == 0 || i % 5 == 0)
        toplam += i;
    }
    return toplam;
  },
  get answer() {
    return this.compute();
  }
};
console.log(solution1.answer);