是否可以在JavaScript中执行此类操作?
max = (max < b) ? b;
换句话说,仅在条件为真时指定值。如果条件为假,则不执行任何操作(无分配)。这可能吗?
那么不要使用ternary operator,它需要第三个参数。如果你不想改变它,你需要将max
重新分配给max
(max = (max < b) ? b : max
)。
一个if-statement更清楚:
if (max < b) max = b;
如果你需要它作为表达式,你可以(ab)使用AND的短路评估:
(max < b) && (max = b)
顺便说一句,如果你想避免重复变量名(或表达式?),你可以使用maximum function:
max = Math.max(max, b);
具有三元运算符的表达式必须具有两个值,即对于真和假的情况。
但是你可以
max = (max < b) ? b : max;
在这种情况下,如果condition为false,则max
的值不会改变。
如果条件为假,您可以将max
设置为自身。
max = (max < b) ? b : max;
或者您可以尝试使用&&
运算符:
(max < b) && (max = b);
或者为了保持代码简单,只需使用if
即可。
if(max < v) max = b;
我认为三元更适合试试这个
(max < b) ? max = b : '';
没有特定的运算符不是三元运算符,但您可以像这样使用它:
max = (max < b) ? b : max;
我认为更好的方法可能是
max = Math.max(max, b)
看:
(max < b) ? max = b : null;
它会发挥作用,我认为你想避免使用结肠,不幸的是,它不会发生