首页 新闻 会员 周边

一个三目运算符

0
[已解决问题] 解决于 2018-09-19 21:06

val = val < minVal ? minVal : val > maxVal ? maxVal : val;
javascript里的
看的有点晕,什么意思

teagueli的主页 teagueli | 初学一级 | 园豆:75
提问于:2018-08-31 17:13

取的是中间值,你把代码加上括号运行一下就知道了

剑客书生 5年前
< >
分享
最佳答案
0

val =
val的值等於

val < minVal ? minVal
val小於minVal的話給minVal

val > maxVal ? maxVal
val大於maxVal 的話給maxVal

val;
都不符合的話給原值

奖励园豆:5
RosonJ | 老鸟四级 |园豆:4910 | 2018-08-31 17:40

谢谢回复
可以理解为下面两句话合在一起吗
val = val < minVal ? minVal : val; val小于minVal的话就等于minVal。
val = val > maxVal ? maxVal : val; val大于maxVal的话就等于maxVal。
限定了val值不能小于minVal,不能大于maxVal
怎么中间又加了一个冒号,成了两个三目运算符
理解起来很困难

teagueli | 园豆:75 (初学一级) | 2018-08-31 17:59

@寻找薛定谔的猫:
沒有錯喔,就是兩句加起來
val = (val < minVal ? minVal : (val > maxVal ? maxVal : val));

RosonJ | 园豆:4910 (老鸟四级) | 2018-08-31 18:00

@RosonJ: 点错了,支持

剑客书生 | 园豆:194 (初学一级) | 2018-09-01 10:48
其他回答(2)
0

这种问题统一解决方案就是自己加括号

吴瑞祥 | 园豆:29449 (高人七级) | 2018-08-31 18:43
0

就2个三元运算符,写一起的时候可读性差了点而已。你把它拆成两个三元运算符就明白了。
val小于minval就取minval,否则取val;
val大于maxval就取maxval,否则取val。

_一直在努力 | 园豆:202 (菜鸟二级) | 2018-08-31 23:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册