有人可以解释这行代码吗? 0%2

时间:2017-03-24 02:21:23

标签: javascript string

正在解决以下问题:

  

函数padIt接受2个参数:

     

1。str,它是表示要填充的字符串的字符串,我们需要在"*"的左侧或右侧填充一些str

     

2. n,它是一个数字,填充字符串的次数。

这就是答案:

function padIt(str,n){
  var count = 0;
  while ( count < n ) {
    count % 2 ? str += '*' : str = '*' + str;
    count ++
  }
  return str;
}

有人可以解释这部分吗? count % 2 ? str += '*' : str = '*' + str;

假设我将这些参数放在函数padIt('a', 1)中 第一个循环将count = 0,因此函数将0 % 2 = 0。为什么该函数选择str = '*' + str选项输出'*a'?为什么不str += '*'输出'a*'

1 个答案:

答案 0 :(得分:0)

这是if-else语句的单行速记。它被称为条件(三元)运算符。

select (1=1) IS TRUE

这是构造IS

相同
 function padIt(str,n){
  var count = 0;
  while ( count < n ) {
    count % 2 ? str += '*' : str = '*' + str;
    count ++
   }
    return str;
  }


 count % 2 ? str += '*' : str = '*' + str;表示如果不计数,即使这样做也是如此 显而易见的优点是它更短。