取整操作也可以用按位操作
因为按位操作只支持32位的整型,所以小数点部分全部都被抛弃
var x = 1.23 | 0; // 1
indexOf()
不需要再比较数字
按位操作效率高点,代码也简洁一些。也可以使用es6的 includes()
。但写开源库需要考虑兼容性的道友还是用 indexOf
比较好
const arr = [1, 2, 3];
// 存在,等效于 > -1
if (~arr.indexOf(1)) {
}
// 不存在,等效于 === -1
!~arr.indexOf(1);
浮点操作不精确,老生常谈了,不过可以接受误差
0.3 - 0.2 !== 0.1 // true
0.3 - 0.2 - 0.1 <= Number.EPSILON // true