名字只是个代号丶
2016-08-03 11:48
speed=speed>0?Math.ceil(speed):Math.floor(speed)这句话的语法就是
速度大于0就向上取整,速度小于0就向下取整吗?
Math.ceil(speed):Math.floor(speed) 中间的这个引号是else的意思吗?
不应该是这样写吗?
if(speed>0){
Math.ceil(speed);
}else{
Math.floor(speed);
}
但是这样写不行啊,回不去。
speed=speed>0?Math.ceil(speed):Math.floor(speed)是一个三目运算符,一般形式为:
表达式1? 表达式2: 表达式3
其求值规则为:如果表达式1的值为真,则以表达式2 的值作为条件表达式的值,否则以表达式2的值作为整个条件表达式的值。 你的没有输出啊,可以改为
if(speed>0){
speed=Math.ceil(speed);
}else{
speed=Math.floor(speed);
}
对的,就是当这个数字是8.3或8.7都取9,如果是(-8.3)或(-8.7)取(-9)这样就保证鼠标覆盖和鼠标移出这两个动作执行的速度一致。Math.ceil(speed):Math.floor(speed) 这是一个真假的判断,就是判断这个speed>0是真还是假,真就取Math.ceil(speed),假就取Math.floor(speed)。你那样写是没问题的,只不过前面这种方法可以一行写出。而且可以回去的,我也试了一下,应该是你其它地方的问题,这只不过是不同的写法罢了,希望对你有帮助哈。
JS动画效果
113925 学习 · 1443 问题
相似问题