为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript中的问号和冒号

JavaScript中的问号和冒号

慕盖茨4494581 2019-06-06 15:14:51
JavaScript中的问号和冒号我越过了下面的界线hsb.s = max != 0 ? 255 * delta / max : 0;是什么?和:在这种情况下意味着什么?
查看完整描述

3 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

它被称为条件算子(这是三元算子).

它的形式是:condition ? value-if-true : value-if-false
想想?作为“当时”和:作为“其他”。

您的代码相当于

if (max != 0)
  hsb.s = 255 * delta / max;else
  hsb.s = 0;


查看完整回答
反对 回复 2019-06-06
?
慕侠2389804

TA贡献1719条经验 获得超6个赞

为了清晰起见,正确的括号是

hsb.s = (max != 0) ? (255 * delta / max) : 0;

意思返回

  • 255*delta/max

    如果最大!=0
  • 0

    如果max=0


查看完整回答
反对 回复 2019-06-06
?
噜噜哒

TA贡献1784条经验 获得超7个赞

如果用方括号编写,这一点可能会更清楚一些,如下所示:

hsb.s = (max != 0) ? (255 * delta / max) : 0;

它所做的是对第一个括号中的部分进行评估。如果结果为真,则后面的部分是?在返回:之前。如果为false,则返回:后面的内容。


查看完整回答
反对 回复 2019-06-06
  • 3 回答
  • 0 关注
  • 1587 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号