我正在学习Javascript,并尝试在Codewar上进行一些挑战。我有挑战的代码,我试图理解逻辑。
感兴趣的代码段是函数padIt
,该函数接受2个参数:
str
-我们需要在左侧或右侧填充"*"
的字符串n
-一个数字,表示我们将填充字符串多少次。 我的问题是,为什么他们使用n--
而不使用n++
?
function padIt(str, n) {
while(n>0) {
if(n%2 === 0) {
str = str + "*";
}
else{
str = "*" + str;
}
n --;
}
}
答案 0 :(得分:1)
如果您使用n ++,则while循环将永远不会结束,因为它正在检查n是否大于0
想象n为3:n将为4,5,6,7,8,那么它是一个无限的while循环
n代表填充字符串的次数,因此,如果要添加3 * n将从3下降到2到1,而while循环将结束
答案 1 :(得分:0)
为什么用
n--
而不是n++
?
首先请注意while
循环n>0
的条件。这意味着继续执行while块。意味着继续填充字符串,直到n
大于0
。最初,n
始终大于1
。因此,我们需要减少,以便结束while循环。
如果我们使用n++
而不是n--
,则代码将创建无限循环