JavaScript 生成十六進位制顏色值

admin發表於2019-02-01

本章節分享一段程式碼例項,它實現了生成隨機十六進位制顏色值的功能。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
function getRandomColor() {
  var str16=(Math.random() * 0x1000000 << 0).toString(16);
  function done(h) {
    return new Array(7 - h.length).join("0") + h
  }
  var perfectStr=done(str16);
  return '#'+perfectStr;
}
console.log(getRandomColor());

上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。

一.程式碼註釋:

(1).function getRandomColor() {},此函式的返回值就是一個隨機十六進位制顏色值。

(2).var str16=(Math.random() * 0x1000000 << 0).toString(16),返回一個十六進位制的數值字串,0x1000000這個十六進位制是7位的,但是由於Math.random()產生的隨機數是0-1(不包括1),所以生成的隨機數整數部分最高位數只能是6位,使用<<運算子的功能是將浮點數轉換為整數,toString(16)目的是轉換為十六進位制字串。

(3).function done(h) {

  return new Array(7 - h.length).join("0") + h

},此函式的功能在不足六位的十六進位制數前面新增0。

(4).return '#'+perfectStr,十六進位制顏色值前面是帶有井號的。

二.相關閱讀:

(1).Math.random()參閱JavaScript Math.random()一章節。

(2).<<參閱JavaScript左移運算子<<用法一章節。

(3).toString()參閱javascript Number toString()方法一章節。

(4).join()參閱JavaScript join()一章節。

相關文章