【发布时间】:2015-10-31 15:12:36
【问题描述】:
在下面的函数中,for 循环有时会跳过一次迭代。
在极少数情况下,我还发现它跳过了两次迭代。 如果我对 for 循环的理解仍然不完整,这有时会破坏我的代码并且可能会影响我未来的代码。
我进一步调查了此事,并尝试了使用 while 循环,发现如果使用 while 循环,则不会发生此问题。
为什么 for 循环有时会跳过一些迭代?
function forLoopString(len)
{
var string = 'abcdefghijklmnopqrstuvwxyz0123456789';
var character = '',
randomString = '';
for (var i = 0; i < len; i++)
{
character = string.charAt(Math.floor(Math.random() * string.length-1) + 0);
randomString += character;
}
if(randomString.length < len)
{
console.log('Less than required length!');
randomString = randomString + '5';
}
return randomString;
}
【问题讨论】:
-
为什么是
+0?似乎没有必要
标签: javascript loops for-loop while-loop