Я пытался создать простую забавную систему с увеличением и уменьшением чисел при вводе, но она не работает

#javascript

Вопрос:

Я попробовал сценарий, и он хорошо работает для первых 2 функций, но затем, когда я добавил третью, вся страница просто не работает. Могу ли я узнать, почему и как это исправить?

Я начинающий Javascripter, и мне все еще нужна практика, так что не могли бы вы, ребята, объяснить, как это подходит для моего уровня?

 let a = 0,
  b = 1

function inc() {
  a  = b
  document.getElementById("x").innerHTML = "x"   " "   "="   " "   a;
};

function dec() {
  a -= b
  document.getElementById("x").innerHTML = "x"   " "   "="   " "   a;
};

function input() {
  if (document.getElementById("input").innerHTML == null) {

  } else {
    b = Number(document.getElementById("input").innerHTML);
  };
}; 
 body {
  background-color: powderblue;
} 
 <h1>Online simple Javascript project!</h1>
<p id="x">x = 0</p><!-- Result -->
<p><br><br>Change the power here!</p><!-- // Description -->
<input id="input"><button type="button" onclick="input()">Apply</button><!-- // Button that save your power -->
<h2>Click the button to increase x</h2><!-- // Description -->
<button type="button" onclick="inc()">Increase</button><!-- // Increase -->
<h2>Click the button to decrease x</h2><!-- // Description -->
<button type="button" onclick="dec()">Decrease</button><!-- // Decrease --> 

Комментарии:

1. Примечание: HTML-комментарии представлены в виде <!-- comment --> , а не // (это для JS)

2. Вероятно, это хорошая идея для поддержки === (вместо == ) и !== (вместо != ) в качестве новичка. === является строгим и == абстрактным. В абстракции больше сценариев, где результат не очень интуитивно понятен.

Ответ №1:

Используйте значение вместо innerHTML для input

 function input() {
  if (document.getElementById("input").value != null){
    b = Number(document.getElementById("input").value);
  };
};
 

Комментарии:

1. Вам не нужно != , так if как утверждение правдиво, пока есть значение, оно будет передано. Единственная проблема (и я знаю, что это выходит за рамки данного вопроса), что что-либо, кроме числа, приведет к ошибке NaN.