/**
* 求幂
*/
7<<1 // 7*2**1 //7*Math.pow(2,1)
/**
* 除2取整
* /
9>>1 // 4
/**
* x2
* /
9<<1 // 18
/**
* 取整
*/
-66.33>>0 // ~~-66.33 // -666.33 | 0 // -66.33<<0 parseInt(-66.33) // ~(n.toFixed(0)) // Number(n.toFixed(0))
"-66.33px">>0// undefined
/*
* 交换变量
*/
a ^= b
b ^= a
a ^= b
//[a,b]=[b,a]
/**
* 16进制颜色值转RGB
* @param {String} hex 16进制颜色字符串
* @return {String} RGB颜色字符串
*/
function hexToRGB(hex) {
var hexx = hex.replace('#', '0x')
var r = hexx >> 16
var g = hexx >> 8 & 0xff
var b = hexx & 0xff
return `rgb(${r}, ${g}, ${b})`
}
/**
* RGB颜色转16进制颜色
* @param {String} rgb RGB进制颜色字符串
* @return {String} 16进制颜色字符串
*/
function RGBToHex(rgb) {
var rgbArr = rgb.split(/[^\d]+/)
var color = rgbArr[1]<<16 | rgbArr[2]<<8 | rgbArr[3]
return '#'+ color.toString(16)
}
/**
* 什么情况下大没小大
*/
'大' < '小' // true
/**
* 什么值的自身等于它的非
*/
[] [] == ![] // true
/**
* 不跳转提交
*/
<a href="javascript: void(document.form.submit())">
提交
</a>
/**
* indexOf
*/
if (~str.indexOf(searchFor)) {
// searchFor 包含在字符串中
} else {
// searchFor 不包含在字符串中
}
/**
* 十六进制转十进制
*/
Number(0xf+'') // 15 // (0xf).toString() // 0xf|0 // parseInt(0xf+'',16) // parseInt('f',16)
/**
* 八进制转十进制
*/
077|0 // 63 // (077).toString() // 077>>0 // parseInt(077+'',8) // parseInt('77',8)
/**
* 八进制转十六进制
*/
(077).toString(16)
/**
* 2的n次方
*/
(1)<<n
参考:
https://www.cnblogs.com/cfsxgogogo/p/12624621.html
https://javascript.ruanyifeng.com/grammar/operator.html
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators