看到一篇文章浮点型巧变整型,讲的是用按位取反~来取整
~~1.5 // 输出1
想到平时看源码时也看到过各种各样取整方法
1.5 | 0 // 输出1 1.5 >>> 0 //输出1
原来浮点数不支持位运算,会自动转换成整数。所以凡是对一个数进行位运算且不改变它的值就可以达到取整的效果。
在chrome里进行测试
var a=new Date(); var b; for(i=0;i<10000000;i++){ b = ~~1.5; // 1.5 | 0 ; 1.5 << 0 ; parseInt(1.5) ; Math.floor(1.5) } new Date() - a
位运算的性能明显更好,各位运算之间差别不大。
时间: 2024-10-09 08:17:26