【趣谈】JavaScript取整操作

1.Math.floor​

向下取整​

需要用一次Math对象,语法看起来很冗余,但其实是最建议用的。​

image.png

number -> int​

2.parseInt​

image.png

虽然看起来是转Int,但其实是针对于string的,先隐式转换Number,再转Int​

如果传一个Number进去​

number -> string -> number -> int​

是多余操作,ts中使用会报错的。​

3.位操作——位非~~ 和 位与 |0

function floor(num) {​

  return num | 0;​

}​

function floor(num) {​

  return ~~num;​

}​

~~(1.1+2.2) //3​

(1.1+2.2) | 0 //3​
复制代码

只有int类型可以进行位操作,所以运算前,就直接隐式转换了​

最简洁​

缺点

  1. 要加括号,因为位运算的优先级最弱,如果写成 ~~num+1.1 必须写成 ~~(num+1.1)​

2.位运算eslint会爆警告,正常开发中不太可能遇到位运算,警告也合理,需要配一个配置项。​

number -> int​

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享