repeat 函数

const repeat = (str, n) => {
  let res = ''
  while (n) {
    if (n % 2 === 1) res += str
    if (n > 1) str += str
    n >>= 1
  }
  return res
}

repeat 函数接收一个字符串 str 和一个数字 n 作为参数。初始化一个结果变量 res ,赋值为空字符串。然后,当 n 不为 0 时,一直循环。

如果 n 除于 2 的余数为 1 ,res 拼接字符串 str。如果数字 n 大于 1,str 拼接自身。然后 n 赋值为 n 右移 1。


右移赋值“右移赋值运算符使变量向右移指定位数的比特位,然后把结果赋给该变量”。


在循环结束后,repeat 函数返回 res 变量的值。

下一章里,我们将继续回到 generateComponentTrace 函数,来看下 repeat 函数是怎么使用的。

上次更新: 2/12/2019, 3:22:54 AM