cod*_*iac 39 javascript ternary-operator
是否可以在JavaScript中执行此类操作?
max = (max < b) ? b;
Run Code Online (Sandbox Code Playgroud)
换句话说,仅在条件为真时指定值.如果条件为假,则不执行任何操作(无分配).这可能吗?
Ber*_*rgi 73
那么不要使用三元运算符,它需要第三个参数.如果您不想更改()max,max则需要重新分配max = (max < b) ? b : max.
一个if语句更加清晰:
if (max < b) max = b;
Run Code Online (Sandbox Code Playgroud)
如果你需要它作为表达式,你可以(ab)使用AND的短路评估:
(max < b) && (max = b)
Run Code Online (Sandbox Code Playgroud)
顺便说一下,如果你想避免重复变量名(或表达式?),你可以使用最大函数:
max = Math.max(max, b);
Run Code Online (Sandbox Code Playgroud)
mar*_*ful 11
具有三元运算符的表达式必须具有两个值,即对于true和false情况.
但是你可以
max = (max < b) ? b : max;
Run Code Online (Sandbox Code Playgroud)
在这种情况下,如果condition为false,则value max不会改变.
max如果条件为假,您可以设置为自己.
max = (max < b) ? b : max;
Run Code Online (Sandbox Code Playgroud)
或者您可以尝试使用&&运算符:
(max < b) && (max = b);
Run Code Online (Sandbox Code Playgroud)
或者为了保持代码简单,只需使用if.
if(max < v) max = b;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
59528 次 |
| 最近记录: |