结论:while循环的自由度更高
for循环:
可以看到,对于变量 i 的操作,只能有一句:i++
/* for 循环 */
function forLoop(n: number): number {let res = 0;// 循环求和 1, 2, ..., n-1, nfor (let i = 1; i <= n; i++) {res += i;}return res;
}
while循环:
function forLoop(n: number): number {let res = 0;// 循环求和 1, 2, ..., n-1, nwhile ( i <= n) {res += i;i++; //更新变量条件}return res;
}
考验:
求和(100内):1、4、10、22、46…之和
function whileLoopII(n: number): number {let res = 0;let i = 1; // 初始化条件变量// 循环求和 1, 4, 10, ...while (i <= n) {res += i;// 更新条件变量i++;i *= 2;}return res;
}
此时显然用while是比较合适的
总结
for 循环的代码更加紧凑,while 循环更加灵活,两者都可以实现迭代结构。选择使用哪一个应该根据特定问题的需求来决定。