【问题标题】:JavaScript Math inside function not working函数内部的JavaScript数学不起作用
【发布时间】:2018-12-03 23:31:29
【问题描述】:

我遇到的问题是它只返回 10 或多或少。是否还有更好的方法可以做到这一点,请在我学习时分享,从我看到的大多数 YouTube 视频中,他们在函数之外进行数学运算或在函数内部进行数学运算,但字符串只有一个参数。

var player = {hp:10, at:1};
var enemy ={hp:10, at:1};
function hit() {
    function minus() {
        
        return player.at - enemy.hp;
       }
           console.log(enemy.hp);
           return ;
}
<button onclick="hit()">Hit</button>

【问题讨论】:

  • 你没有在任何地方打电话给minus。你的整个代码相当于function hit() { console.log(enemy.hp); }。需要调用函数才能执行其主体中的语句。

标签: javascript function math subtraction


【解决方案1】:

正如@Felix Kling 所说,你没有调用你的函数。您只是将enemy.hp 打印到控制台。

下面是一个示例,说明如何构建代码:

https://jsfiddle.net/mswilson4040/bg4ey1z9/4/

var player = {
  hp: 10,
  at: 1
};
var enemy = {
  hp: 10,
  at: 1
};

function hit() {
  console.log(enemy.hp);
  return minus();
}

function minus() {
  return player.at - enemy.hp;
}

【讨论】:

  • 我运行了您发布的代码,但值仍然是 10,我希望每次您单击点击按钮时,enemy.hp 的值都会下降 1 等等,谢谢你们的时间
【解决方案2】:

我想这可能是你打算做的。

   
var player = {
  hp: 10,
  at: 1
};
var enemy = {
  hp: 10,
  at: 1
};

function hit() {
  enemy.hp = enemy.hp - player.at;
  console.log(enemy.hp);
}
<button onclick="hit()">Hit</button>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-17
    • 1970-01-01
    • 2014-12-05
    • 2016-07-17
    相关资源
    最近更新 更多