二、十、十六进制转换
二进制十进制互转
二进制转十六进制
位运算符~、&、|、^、<<、>>
位运算符是在数字底层(即表示数字的 32 个数位)进行操作的。
~ 加一取反
var a = 2;
console.log(~a) //-3
a = -9;
console.log(~a) //8
&
console.log(5&6) //4
相当于二进制的每一位一一进行关系与(&&)运算
|
console.log(5|6) //7
相当于二进制的每一位一一进行关系或(||)运算
^ 异或
console.log(5^6) //3
相当于二进制的每一位一一进行对比,相同取0,不同取1
左移 <<
var iOld = 2; //等于二进制 10
var iNew = iOld << 5; //等于二进制 1000000 十进制 64
常见应用
1 << n == 2的n次幂 == Math.pow(2, n)
右移 >>
var iOld = 64; //等于二进制 1000000
var iNew = iOld >> 5; //等于二进制 10 十进制 2
Typed.js打字动画库
document.body.scrollTop兼容性处理
//获得页面向左、向上卷动的距离
function getScroll(){
return {
left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft,
top: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
};
}