Какая логика у JavaScript в Математике?
Почему JavaScript считает что
0-600= -599
0+600= 599 ???
Что я сделал не так?
<script>
function validate() {
// get the input
var x = document.forms["input_form"]["aterm1"].value;
var y = document.forms["input_form"]["aterm2"].value;
// output the result (or errors)
document.getElementById("1").innerHTML = "<h>" + (x +++ 600) + ", " + (y +++ 600) + "</h>";
document.getElementById("2").innerHTML = "<h>" + (x --- 600) + ", " + (y --- 600) + "</h>";
document.getElementById("4").innerHTML = "<h>" + (x +++ 600) + ", " + (y --- 600) + "</h>";
document.getElementById("3").innerHTML = "<h>" + (x --- 600) + ", " + (y +++ 600) + "</h>";
}
</script>
Ответы (2 шт):
Автор решения: Aziz Umarov
→ Ссылка
Логика простая просто нужно немного получить JavaScript, а точнее преобразования типов. У вас в инпутах лежать строки, чтоб были числа нужно их преобразовать в число.
let x = '0';
console.log((x)+++600);
x= (+'0')+600;
console.log(x);
x= '0'+600;
console.log(x);
Автор решения: Павел Ериков
→ Ссылка
Операторов +++ и --- в javascript нет. Такая записать воспринимается как ++ +.
Чтобы корректно посчитать, то что вам надо, нужно спарсить из строки value в целочисленный тип int, функцией parseInt(string, base).
Вот пример в вашем случае:
function validate() {
// get the input
var x = parseInt(document.forms["input_form"]["aterm1"].value, 10);
//Если пользователь ничего не ввел, то дефолт значение = 0
if(isNaN(x)) x = 0;
var y = parseInt(document.forms["input_form"]["aterm2"].value, 10);
if(isNaN(y)) y = 0;
// output the result (or errors)
document.getElementById("1").innerHTML = "<h>" + (x + 600) + ", " + (y + 600) + "</h>";
document.getElementById("2").innerHTML = "<h>" + (x - 600) + ", " + (y - 600) + "</h>";
document.getElementById("4").innerHTML = "<h>" + (x + 600) + ", " + (y - 600) + "</h>";
document.getElementById("3").innerHTML = "<h>" + (x - 600) + ", " + (y + 600) + "</h>";
}
<form id="input_form">
<input id="aterm1">
<input id="aterm2">
<p id="1">
</p>
<p id="2">
</p>
<p id="3">
</p>
<p id="4">
</p>
<input type="button" onclick="validate()" value="Click">
</form>
