我是javascript新手,正尝试做我的uni作业。
我在最大和最小数字上有问题,也无法获得第3点。工作。其他的工作正常,至少我是这样认为的。
这个没有错误,但是作为回答,他只给了我0,最大/最小显示为+-无穷大。
更新:我在问题下使用了答案,并将max / min放入aprekinat()函数中,但仅在IF的前半部分有效,而ELSE无法正常工作。并且,如果您编写conosle.log(max)或min,则表明未定义max / min。
function aprekinat() {
var max = Math.max(...numbers);
var min = Math.min(...numbers);
if (numbers => 1) {
var big = document.getElementById('big');
var bigger = numbers.map(x => x / max);
document.getElementById('big').innerHTML = bigger;
} else {
var small = document.getElementById('small');
var smaller = numbers.map(x => x / min);
document.getElementById('small').innerHTML = smaller;
}
}
码:
var numbers = [];
function myFunction() {
numvalue = parseInt(document.getElementById('num').value);
numbers.push(numvalue);
console.log(numbers)
return false;
}
var max = Math.max(...numbers);
var min = Math.min(...numbers);
document.getElementById('apr').onclick = aprekinat;
function aprekinat() {
if (numbers => 1) {
var big = document.getElementById('big');
var bigger = numbers.map(x => x / max);
document.getElementById('big').innerHTML = bigger;
} else {
var small = document.getElementById('small');
var smaller = numbers.map(x => x / min);
document.getElementById('small').innerHTML = smaller;
}
}
document.getElementById('color').onclick = changeColor;
var currentColor = "black";
function changeColor() {
if (currentColor == "black") {
document.body.style.color = "red";
currentColor = "red";
} else {
document.body.style.color = "black";
currentColor = "black";
}
}
<html>
<head>
<title>Ld_js_5</title>
</head>
<body>
<form onsubmit="return myFunction()">
<input type="text" id="num">
<input type="submit" value="Submit">
</form>
<p id="big"></p>
<p id="small"></p>
<button id="apr">Aprekinat!</button>
<button id="color">Color!</button>
</body>
</html>
您已经将min()和max()计算放在任何函数之外,因此当数组仍然为空时,它们将在页面加载后立即进行计算。
他们应该在您按下“ Aprekinat!”时进行计算吗?按钮?如果是这样,则需要aprekinat()
在if / then语句之前的函数中的JavaScript中放置第10行和第11行。这样min
,max
每次您计算时都会重新评估。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句