For循环已初始化但未输入
For loop initialized but not entered
My for循环适用于某些值,而不适用于其他值。区别似乎在于我初始化时使用的计数器。举个例子,timesTable
12和startFrom
1总是有效的。但是,如果我将startFrom
更改为3
,则不会发生任何事情。
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
从未触发。
运行中的调试器图像
有人知道这到底是什么原因吗?
调试器清楚地表明,您的边界是字符串,根据字典顺序,"3"优于"12",因此永远不会满足循环条件。
在比较和增加之前,您需要将字符串解析为数字
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/>");
}
}
相关文章:
- JS事件未更改输入禁用属性
- .on('keyup', .) 未在输入时执行
- 第二次单击时未附加输入
- IE 9 jQuery未设置输入值
- 未对输入更改调用指令
- 提交时未显示输入字段
- 在切换情况下未分配输入
- 编码器点火器未验证输入文本
- 按钮单击事件未将输入字符串传递给 MVC 控制器方法
- 值未从输入错误插入数据库:phonegap中未定义
- 脚本未将输入发布到PHP服务器脚本
- Sencha Touch 2:在Android 4中未居中输入占位符
- HTML中未触发输入按钮单击事件
- Javascript未在输入类型中生成结果
- Angularjs中的控制器未更新输入字段
- 未在输入元素上触发更改事件
- 控制台中未显示输入值
- angularjs服务,$http.post未同时输入成功或错误回调
- 类型错误:在 OnsenUI 2 React 导航器中未定义输入页面
- jquery表单未打印输入