javascript - 为什么循环不在定义的停止点停止?
问题描述
我正在为在线课程进行测验,测试对循环的理解。问题是:
“编写一个名为laugh() 的函数,它接受一个参数,num 表示要返回的“ha”的数量。这样console.log(laugh(3));
打印"hahaha!"
“我使用以下循环解决了这个问题:
function laugh(num) {
var string = ""
for (var i = 0; i < num; i++) {
string = string + "ha";
}
return string + "!";
}
console.log(laugh(3));
但出于好奇,我增加num
并让循环返回i
而不是字符串:
function laugh(num) {
var string = "";
for (var i = 0; i < num; i++) {
string = string + "ha";
}
return i;
}
console.log(laugh(16))
这印16
。现在我很困惑 - 不应该i
只达到15
,因为循环的条件之一是i < num
并且num
设置为16
?
解决方案
循环退出条件是i < num
,所以当 i >= 16 代码string = string + "ha";
没有执行
推荐阅读
- javascript - 如何在新实例中使用 if 条件?
- ios - Mapbox 委托 calloutViewTapped 不起作用
- javascript - 如何为触摸和鼠标(拖动)事件制作可拖动元素
- python - “numpy.ndarray”对象没有属性“列”
- sharepoint - 2013 工作流 - 以 InfoPath 表单从人员选取器向多个用户发送电子邮件
- r - 加速代码以使公司处于半径范围内并在 R 中总结它们
- javascript - 只能输入必填数字
- ruby - 我可以在方法签名中指定鸭子类型吗?
- javascript - 如何仅在某些屏幕尺寸下使用我的脚本应用 CSS 类?
- deep-learning - 从什么方面来衡量一个物体检测器的性能?