无法理解对象中的JS函数

时间:2014-05-06 16:48:45

标签: javascript function

我正在学习JavaScript,现在我正在将功能放在对象中。我一直在juggle函数上得到一个评估错误。有人可以解释我做错了什么吗?谢谢!

var juggler = {
  itemCount: 0
  juggle: function () {
    this.itemCount += 1;
    var fate = parseInt(Math.random() * 10);
    if (this.itemCount > 2 && fate % 2 === 0) {
      this.drop();
      return 1;
    }
    else {
      return 0;
    }
  }
  drop: function () {
    console.log('ah!');
     this.itemCount = this.itemCount - 1;
  }
};

juggler.juggle();
juggler.juggle();
console.log('Juggler should be juggling two items:', juggler.itemCount);

var dropCount = 0;

dropCount += juggler.juggle();
dropCount += juggler.juggle();
dropCount += juggler.juggle();

console.log('Total number of items should be 5:', juggler.itemCount + dropCount);
console.log('Juggler should be juggling at least two items:', juggler.itemCount);

2 个答案:

答案 0 :(得分:3)

对象上的属性必须用逗号分隔。

var juggler = {
  itemCount: 0,
// -----------^
  juggle: function () {
    // code here
  },
// ^
  drop: function () {
    // code here
  }
// note no comma on last item
};

答案 1 :(得分:1)

在Javascript {}中表示对象。因此,您要创建一个名为juggler的项目,其中包含属性itemCountjuggledrop等。因此,您需要使用逗号分隔这些属性:

itemCount: 0,
juggle: function () {

如果有帮助的话,你可以把它(语法)想象成Java中的地图。