首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环初始化,但未输入

循环初始化,但未输入
EN

Stack Overflow用户
提问于 2016-05-03 14:12:41
回答 2查看 38关注 0票数 0

我的for循环适用于某些值,而不是其他值。区别似乎是我用它初始化的计数器。举个例子,timesTable12和startFrom 1总是有效的。但是,如果我将startFrom改为3,什么都不会发生。

代码语言:javascript
复制
var timesTable = prompt("Enter times table value:", "");
var startFrom = prompt("Enter startfrom value:", "");

manyTimes(timesTable,startFrom);

function manyTimes(baseValue, startValue){
  var loopCounter = startValue;
  for (; loopCounter <= baseValue; loopCounter++)
  {
    result = baseValue * loopCounter;
    document.write(baseValue + " * " + loopCounter + " = " + result + "<br/>");
  }
}

调试器实际上显示初始化正在进行,但document.write从不触发。

调试器在工作中的图像

有人知道这是怎么回事吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-03 14:15:53

调试器清楚地显示,您的边界是字符串,根据字典顺序,"3“优于"12”,因此您永远不满足循环条件。

票数 2
EN

Stack Overflow用户

发布于 2016-05-03 14:15:56

您需要在比较和增量之前将字符串解析为number。

代码语言:javascript
复制
function manyTimes(baseValue, startValue){
  baseValue = parseInt(baseValue,10)
  var loopCounter = parseInt(startValue,10);
  for (; loopCounter <= baseValue; loopCounter++)
  {
    result = baseValue * loopCounter;
    document.write(baseValue + " * " + loopCounter + " = " + result + "<br/>");
  }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37006634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档