#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.