解释Javascript代码,在字符串的左侧或右侧填充

时间:2019-07-08 15:29:14

标签: javascript

我正在学习Javascript,并尝试在Codewar上进行一些挑战。我有挑战的代码,我试图理解逻辑。

感兴趣的代码段是函数padIt,该函数接受2个参数:

  1. str-我们需要在左侧或右侧填充"*"的字符串
  2. n-一个数字,表示我们将填充字符串多少次。

我的问题是,为什么他们使用n--而不使用n++

function padIt(str, n) {
    while(n>0) {
        if(n%2 === 0) {
            str = str + "*";
        }
        else{
            str = "*" + str;
        }
        n --;
    }
}

2 个答案:

答案 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--,则代码将创建无限循环