【发布时间】:2017-07-21 22:20:29
【问题描述】:
我正在阅读关于 JavaScript 的 W3Schools 教程,我只是想知道这个 findMax() 函数:
function findMax() {
var i;
var max = -Infinity;
for (i = 0, i < arguments.length; i++) {
if (arguments[i] > max) {
max = arguments[i];
}
}
return max;
}
我知道 'i' 是一个计数器,该函数一直运行到所有内容都已计数,并且计数增加 1。我不明白 - 如何创建 if 语句(arguments[i] > max ) ... 获取 findMax() 函数中的最大数字?为什么将 i 传递给 if 语句会返回最大数?
【问题讨论】:
-
对于每个参数
argument[i],您需要查看它是否大于先前已知的最大值max。 -
循环遍历传入函数的参数,
arguments[i]是当前参数。如果它超过了当前存储在max中的值,则使用该数字更新max,因此当循环完成时,max是迭代过的最大数字。 -
考虑在
for循环的每次迭代之后打印出max和arguments[i]的值,你就会明白它为什么会起作用。
标签: javascript function