使用for循环实现countingByTwo计数函数的技术问询
实现按步长2计数的countingByTwo函数
嘿,看起来你已经把这个功能实现得差不多啦!先给你确认下,你的现有代码已经完全符合任务要求了,我们来拆解下:
- 函数
countingByTwo接收了参数num1,并以此作为for循环的执行次数,完全匹配任务里“循环次数与参数数值一致”的要求 - 每次循环都会给全局的
startingNum加2,并且在控制台输出更新后的数值 - 循环结束后也正确返回了最终的
startingNum值
当你调用countingByTwo(4)时,控制台会依次输出12、14、16、18,最后函数返回18,完全符合预期~
不过这里有几个小建议可以让你的代码更健壮、可读性更强:
- 参数命名更直观:把
num1改成loopCount之类的名字,一眼就能看出这个参数是用来指定循环次数的 - 使用现代JS变量声明方式:用
let代替var,避免变量提升带来的潜在问题,让代码更符合当前的JS规范 - 注意全局变量的副作用:因为
startingNum是全局变量,如果你多次调用countingByTwo,数值会持续累加。如果任务允许的话,也可以把startingNum放到函数内部作为初始值,或者每次调用前重置,不过按照你给出的任务要求,当前的写法是没问题的
优化后的代码示例如下:
// 给定的初始变量 let startingNum = 10; function countingByTwo(loopCount) { for (let i = 0; i < loopCount; i++) { startingNum += 2; console.log(startingNum); } return startingNum; } // 调用示例 countingByTwo(4); // 依次输出12、14、16、18,返回18
内容的提问来源于stack exchange,提问作者Andrew Watters
相关产品推荐
相关产品推荐

