在函数内调用函数(调用函数)

时间:2018-07-26 10:49:05

标签: javascript

我正在努力弄清被调用的函数及其用法。我有一个名为addExp的函数-它会向玩家对象添加经验值,并确定玩家是否已升级。

功能如下:

function addExp(amt) {
  return function(amt) {
    player.exp += amt;
    while(player.exp >= player.reqExp) {
      var carry = player.exp - player.reqExp;
      player.level++;
      nextLevel(player.level);
      player.exp = 0 + carry;
    }
  }
}

这是我使用它时发生的事情:

addExp(200); // adds no exp to the player
addExp(200)(200); // adds 200 exp to the player
addExp()(200); // adds 200 exp to the player

我在网上搜索并阅读了其他问题,但是不明白为什么它会这样工作-这些功能调用中的哪一个(如果有的话)正确完成了?有人可以用足够简单的术语解释一下,为什么在一个函数内返回一个函数为什么有好处?

0 个答案:

没有答案
相关问题