
这段JS代码是什么意思?
speed=speed>0?Math.ceil(speed):Math.floor(speed);特别是这个问号"?"和分号“:”是什么意思,感觉怪怪的。...
speed=speed>0?Math.ceil(speed):Math.floor(speed);
特别是这个问号 "?" 和分号 “:” 是什么意思,感觉怪怪的。 展开
特别是这个问号 "?" 和分号 “:” 是什么意思,感觉怪怪的。 展开
展开全部
这是三目运算符 (表达式1)?(表达式2):(表达式3),计算方法是这样的:表达式1是一个逻辑表达式,如果其值为true,则整个表达式的值为表达式2的值,否则为表达式3的值
这里还多了一个赋值过程。speed>0是表达式1,Math.ceil(speed)是表达式2,Math.floor(speed)是表达式3
这里还多了一个赋值过程。speed>0是表达式1,Math.ceil(speed)是表达式2,Math.floor(speed)是表达式3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是三元运算,你也可以理解为if语句的简写
语法是: 条件 ? 如果条件成立执行这里 : 如果条件不成立执行这里;
如果把你上面的代码改成if语句,那就是这样写
if ( speed>0 ) {
speed = Math.ceil(speed);
}else{
speed = Math.floor(speed);
}
效果是一样的
只是用三元运算,代码简洁一些!
语法是: 条件 ? 如果条件成立执行这里 : 如果条件不成立执行这里;
如果把你上面的代码改成if语句,那就是这样写
if ( speed>0 ) {
speed = Math.ceil(speed);
}else{
speed = Math.floor(speed);
}
效果是一样的
只是用三元运算,代码简洁一些!
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
speed= speed>0 ? Math.ceil(speed) : Math.floor(speed);
问号前面的是判断语句。如果true的时候返回冒号前面的,false的时候返回后面的。
问号前面的是判断语句。如果true的时候返回冒号前面的,false的时候返回后面的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是条件运算:
如果speed>0,就把Math.ceil(speed)的值赋给前面的speed,如果不是就把Math.floor(speed)的值赋给它。
如果speed>0,就把Math.ceil(speed)的值赋给前面的speed,如果不是就把Math.floor(speed)的值赋给它。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询