Javascript 使Math.max.apply读取变量
我对编码相当陌生,尝试了一些有趣的东西,但是我正在努力Javascript 使Math.max.apply读取变量,javascript,arrays,variables,Javascript,Arrays,Variables,我对编码相当陌生,尝试了一些有趣的东西,但是我正在努力 function result() { var n1 = document.getElementById("N1"); var n2 = document.getElementById("N2"); var n3 = document.getElementById("N3"); var a = [n1,n2,n3]; var temp = Math.max.apply(Math, a) var out=document.getElement
function result() {
var n1 = document.getElementById("N1");
var n2 = document.getElementById("N2");
var n3 = document.getElementById("N3");
var a = [n1,n2,n3];
var temp = Math.max.apply(Math, a)
var out=document.getElementById("res").innerHTML = temp;
}
我试图让它输出通过HTML输入的数字
<td><input class="textBox" id="N3" type="number"/></td>
不过,它不会将其读取为数字,只会显示NaN。非常感谢您的帮助。如果您需要将
temp
作为输入的最高值,以下操作将起作用:
function result() {
document.getElementById("res").innerHTML = Math.max(
parseFloat( document.getElementById("N1").value ),
parseFloat( document.getElementById("N2").value ),
parseFloat( document.getElementById("N3").value )
);
}
一些评论:
- 请注意,我们只是使用<这里不需要code>apply(),因为您显式调用了
方法max()
- 我假设
,N1
等都是N2
元素,因此需要使用
获取它们的value属性.value
- 我们需要将来自输入的值视为浮点数(或整数,如果可以的话),因此我们使用(或分别使用)。在大多数现代浏览器中,这在技术上不是必需的,但却是一种良好的实践李>
function result() {
var n1 = document.getElementById("N1").value;
var n2 = document.getElementById("N2").value;
var n3 = document.getElementById("N3").value;
var a = [n1,n2,n3];
var temp = Math.max.apply(Math, a)
var out=document.getElementById("res").innerHTML = temp;
}
你需要什么样的
temp
?输入的最高值?var n1=parseFloat(document.getElementById(“n1”).value)
etc@BenM是的,温度应该是最高的number@JaromandaX非常感谢。这正是我需要的。更快的方法是Math.max.apply(Math,[“N1”,“N2”,“N3”]).map(函数(id){return parseFloat(document.getElementById(id.value);})
。你为什么认为1ruyrgjyes!!%&“/)%&·)/&/)
应被视为1
?parseFloat
和parseInt
是将任意字符串解析为数字的糟糕方法。是的,它们是,但解释了使用Number()
进行强制转换的含义(以及在Math.max()中处理NaN
)是一整罐蠕虫,这超出了原来问题的范围。