我不明白这里发生了什么,任何人都可以帮助我了解这个
function findMax() {
var i;
var max = -Infinity;
for(i = 0; i < arguments.length; i++) {
if (arguments[i] > max) {
max = arguments[i];
}
}
return max;
}
document.getElementById("demo").innerHTML = findMax(4, 5, 6);
<p>Finding the largest number.</p>
<p id="demo"></p>
答案 0 :(得分:2)
Infinity没有值,它代表的数字高于其他所有数字。 (或-Infinity
)
它通常用于查找最大值或最小值等函数,以便比较第一个数字。
在您的情况下,您有一个循环数字列表以找到最大值的函数。你可以通过将它们中的每一个与发现的最大数量进行比较来做到这一点,但是你要将第一个数字与第一个数字进行比较?一种解决方案是将其与-Infinity
进行比较,这比使用arguments[0]
或null
作为默认值更好,当您希望函数返回可比较的值时,即使您在没有参数的情况下调用它也是如此