函数中的for循环在调用函数时不返回索引变量

时间:2017-12-15 21:28:26

标签: javascript

我正在尝试编写一个函数,在调用它时,它将从函数中的for循环返回索引变量的值。

这是我的代码:

function myFunction() {
    for(var i = 0; i++) {
        return i;
    }

    alert(i);
}

myFunction();

如果我抛弃了这个函数,那么for循环工作正常,如果我用JavaScript-“alert”替换“return”。我想要实现的是for循环的结果仅在调用函数时被警告。

2 个答案:

答案 0 :(得分:0)

你的循环无效,它错过了停止条件。您需要在for循环中指定另一个块,否则会抛出错误。

for(var i = 0; i<10; i++)

如果您的循环正确,使用return语句将退出function,结果for循环也将结束。因此,return语句之后的所有代码都将被忽略,包括alert(i)语句。

换句话说,return之后的所有代码都将被省略和忽略,因为函数调用已因return关键字而结束。

编辑:

如果您正在尝试制作数组或数字列表并在调用该函数时将其返回,那么您应该做什么:

&#13;
&#13;
function myFunction() {
    var array = [];
    for(var i = 0; i<10; i++) {
        array.push(i);
    }
    return array;
}

alert(myFunction());
&#13;
&#13;
&#13;

答案 1 :(得分:-1)

map()在数组的每个元素上运行一个函数,并始终返回每个函数结果的数组。原则上有2个演示都是相同的。

详情在演示

中发表

演示1

<div>01</div>
<div>ponies</div>
<div>unicorns</div>
<div>qwerty</div>
<div>foo</div>
<div>bar</div>
<div>hello</div>
<div>world</div>
var arr = ['01', 'ponies', 'unicorns', 'foo', 'bar', 'hello', 'world'];

var INDEX_VALUE = arr.map(function(ele, idx, arr) {
  var size = ele.length;
  console.log('Index: ' + idx + ' String: ' + ele + ' Chars: ' + size);
  return idx;

});

演示2

a