js按位运算符及运用

js按位运算符/二进制运算符的简单简绍和使用

&、|、^、~、<<、>>

# & 按位与,两数同位是1对应位才是1

1 & 2  // 0 (0001 且 0010 = 0000 = 0)

# | 按位或,两数同位是0对应位才是0

1 | 2  // 3 (0001 或 0010 = 0011 = 3)

# ^ 按位异或,两数同位相同都取0,不同都取1

1 ^ 2  // 3 (0001 异或 0010 = 0011 = 3)

# ~ 按位非,每位取反的补码

~2  // -3

# << 左移,二进制所有位都左移规定的次数

1 << 1  // 2 (0001 左移 1 = 0010 = 2)

# >> 右移,二进制所有位都右移规定的次数

1 >> 1  // 2 (0001 右移 1 = 0000 = 0)

# 运用

# 用位运算符来小数取整

~~3.14  // 3
~~-3.14  // -3
3.14 | 0  // 3 
3.14 >> 0  // 3
3.14 << 0  // 3 

# 用&运算符判断一个数的奇偶

n & 1 如果值为0,n是偶数;值为1,n为奇数

7 & 1  // 1
8 & 1  // 0

# 生成一个随机颜色值

'#' + (~~(Math.random() * (1 << 24))).toString(16)
严格模式下主要限制

严格模式下主要限制

在头部加上 "use strict" 启用严格模式,使用严格模式能够有效的降低bug,开始需要适应

babel-polyfill的引用和使用

babel-polyfill的引用和使用

使用 babel-polyfill 来解决一些低版本的浏览器对es6新语法的不支持