将表达式分配给三元运算符
Assigning expressions to a 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;
}
我会将作业分配给
board += picker ? '#' : ' ';
picker = !picker;
虽然它更清楚发生了什么。
否则这会起作用(但我不推荐它!):
picker ? (board += '#', picker = false) : (board += ' ', picker = true);
我有一个关于三元运算符的好问题,我试图给表达式一个不同的值。但是我遇到了一个错误,直到今天,我以前从未尝试过使用三元运算符来做到这一点。为什么我不能让表达式成为三元运算符的结果?(我知道它也需要函数)他们没有发布 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;
}
我会将作业分配给
board += picker ? '#' : ' ';
picker = !picker;
虽然它更清楚发生了什么。
否则这会起作用(但我不推荐它!):
picker ? (board += '#', picker = false) : (board += ' ', picker = true);