Javascript 为什么这个for循环不起作用?
以下两者之间的确切区别是什么:Javascript 为什么这个for循环不起作用?,javascript,jquery,for-loop,Javascript,Jquery,For Loop,以下两者之间的确切区别是什么: <p id="test"></p> <script> function findMax() { var i; var max = -Infinity; for(i=0;i<arguments.length;i++) { if(arguments[i] > max) { max = arguments[i]; } } r
<p id="test"></p>
<script>
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('test').innerHTML = findMax(32, 133, 83, 163);
</script>
函数findMax(){
var i;
var max=-无穷大;
对于(i=0;i最大值){
max=参数[i];
}
}
返回最大值;
}
document.getElementById('test').innerHTML=findMax(32,133,83,163);
以及:
函数findMax(){
var i=0;
var max=-无穷大;
for(;imax){
max=参数[i];
}
}
返回最大值;
}
document.getElementById('test').innerHTML=findMax(32,133,83,163);
也许我错过了一些课程,但是第一节课输出163,这是应该的,而第二节课输出0。控制台说
SyntaxError:返回不在函数中
返回最大值
为什么第二个返回最低值,而第一个返回最高值?对于第二个,您忘记了开头括号
{
和初始值i=0
您也可以简单地使用
Math.max()
作为第二个选项,您忘记了开头括号{
和初始值i=0
您也可以简单地使用
Math.max()
在缺少{
的瞬间,尝试:
function findMax() {
var i;
var max = -Infinity;
for(; i < arguments.length ; i++) {
if(arguments[i] > max) {
max = arguments[i];
}
}
return max;
}
函数findMax(){
var i;
var max=-无穷大;
for(;imax){
max=参数[i];
}
}
返回最大值;
}
在第二秒内,您缺少一个{
,请尝试:
function findMax() {
var i;
var max = -Infinity;
for(; i < arguments.length ; i++) {
if(arguments[i] > max) {
max = arguments[i];
}
}
return max;
}
函数findMax(){
var i;
var max=-无穷大;
for(;imax){
max=参数[i];
}
}
返回最大值;
}
而第二个输出为0
您没有将i初始化为0
这意味着我没有定义,undefined+1
是NaN
SyntaxError:返回不在函数中
在for循环之后,您错过了一个大括号,因此return语句超出了函数定义
function findMax() {
var i;
var max = -Infinity;
for(i = 0; i < arguments.length ; i++)
{//this was missed
if(arguments[i] > max)
{
max = arguments[i];
}
}
return max;
}
函数findMax(){
var i;
var max=-无穷大;
对于(i=0;imax)
{
max=参数[i];
}
}
返回最大值;
}
而第二个输出为0
您没有将i初始化为0
这意味着我没有定义,undefined+1
是NaN
SyntaxError:返回不在函数中
在for循环之后,您错过了一个大括号,因此return语句超出了函数定义
function findMax() {
var i;
var max = -Infinity;
for(i = 0; i < arguments.length ; i++)
{//this was missed
if(arguments[i] > max)
{
max = arguments[i];
}
}
return max;
}
函数findMax(){
var i;
var max=-无穷大;
对于(i=0;imax)
{
max=参数[i];
}
}
返回最大值;
}
在第二个示例中,您在(;ii
的赋值。它要么在在初始化部分中,或在声明中。其余部分相同。在第二个部分中,您在(;ii
的赋值。它要么在对于初始化部分,或在声明处。其余部分相同。