Javascript 理解对象中的JS函数有困难

Javascript 理解对象中的JS函数有困难,javascript,function,Javascript,Function,我正在学习JavaScript,现在我正在将函数放入对象中。我不断得到一个杂耍函数的计算错误。有人能解释一下我做错了什么吗?谢谢大家! var juggler = { itemCount: 0 juggle: function () { this.itemCount += 1; var fate = parseInt(Math.random() * 10); if (this.itemCount > 2 && fate % 2 === 0)

我正在学习JavaScript,现在我正在将函数放入对象中。我不断得到一个杂耍函数的计算错误。有人能解释一下我做错了什么吗?谢谢大家!

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);

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

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

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

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

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

itemCount: 0,
juggle: function () {

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

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

itemCount: 0,
juggle: function () {

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

这不是你出错的原因,但是你不应该在数字上使用
parseInt
。您希望
Math.floor()
不是错误的原因,但不应该对数字使用
parseInt
。你想要
Math.floor()
啊,我明白了。非常感谢你的帮助!啊,我明白了。非常感谢你的帮助!