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

这个语句中的问号和冒号分别是什么意思呢?

speed=speed>0?Math.ceil(speed):Math.floor(speed);

问号和冒号分别代表什么意思呢?有点看不懂。

如果按照if语句的意思来理解:

if(speed>0){

Math.ceil(speed);

}else{

Math.floor(speed);

};

是不是问号就是代表判断,而冒号就是“否则”的意思?

正在回答

3 回答

speed=speed>0?Math.ceil(speed):Math.floor(speed);

上述这段代码用的三元运算符,如同下面代码意思:

  var a = 5; var b = 8;
    var result = a > b ? a : b;
        alert(result);

如果a大于b就把?后面a的值保存在result这个变量里面,alert(弹出a结果),如果b大就是其反。

var result = 如果a>b就是a给result,如果不大于就把b结果给result,

speed=speed>0?Math.ceil(speed):Math.floor(speed);

speed这个参数大于0就会先去找(?)问号后面的Math.ceil(speed)看他成不成立是不是它要的结果,如果不是就去找(:)后面的Math.floor(speed)的这句话,至于是找Math.ceil(speed)还是Math.floor(speed)那就因speed传的值决定。

2 回复 有任何疑惑可以回复我~
#1

一指定江山 提问者

非常感谢!
2016-11-18 回复 有任何疑惑可以回复我~

这是问号表达式,问号前表达式为真,返回问号后冒号前的数据,问号前表达式为假,返回结果为冒号后的数据

0 回复 有任何疑惑可以回复我~

三元运算符.

speed>0为真,执行Math.ceil(speed)

speed>0为假,执行Math.floor(speed)

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JS动画效果
  • 参与学习       113925    人
  • 解答问题       1443    个

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

进入课程

这个语句中的问号和冒号分别是什么意思呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信