出处

二进制位运算符 - JavaScript 教程 - 网道 —— 左移运算符

代码

  1. var color = {r: 186, g: 218, b: 85};
  2. // RGB to HEX
  3. // (1 << 24)的作用为保证结果是6位数
  4. var rgb2hex = function(r, g, b) {
  5. return '#' + ((1 << 24) + (r << 16) + (g << 8) + b)
  6. .toString(16) // 先转成十六进制,然后返回字符串
  7. .substr(1); // 去除字符串的最高位,返回后面六个字符串
  8. }
  9. rgb2hex(color.r, color.g, color.b)
  10. // "#bada55"