将表达式分配给三元运算符

时间:2016-01-13 21:56:27

标签: javascript ternary-operator

我对三元运算符有一个很好的问题,我试图给表达式一个不同的值。但是我得到了一个错误,我从来没有尝试过使用三元运算符,直到今天。为什么我不能将表达式作为三元运算符的结果?(我知道它也需要函数)并且是否有一个特定的原因导致他们没有发布JavaScript以获得此功能?

function chessboard(x, y){
    var board = '';
  var picker = true;
  for(var i = 1; i < y+1; i++){
    var j = 0;
        for(j = 0; j < x; j++){
        picker ? board += '#';picker= false; : board += ' ';picker= true;
      board += '\n';
    }
  }
  return board;
}

1 个答案:

答案 0 :(得分:1)

我会将作业分成

board += picker ? '#' : ' ';
picker = !picker;

虽然它更清楚地发生了什么。

否则这会起作用(但我不推荐它!):

picker ? (board += '#', picker = false) : (board += ' ', picker = true);