Rumah hujung hadapan web tutorial js js随机颜色代码的多种实现方式_javascript技巧

js随机颜色代码的多种实现方式_javascript技巧

May 16, 2016 pm 05:35 PM
js rawak warna

JS随机颜色有很多地方要用到:比如大家看到很多标签连接都是五颜六色。那就需要到这个了。下面开始:      

方法思路总共有二。一是准备一组漂亮的候选颜色,二是随机生成颜色

实现1

复制代码 代码如下:

var getRandomColor = function(){   

  return  '#' +   
    (function(color){   
    return (color +=  '0123456789abcdef'[Math.floor(Math.random()*16)])   
      && (color.length == 6) ?  color : arguments.callee(color);   
  })('');   
}

随机生成6个字符然后再串到一起,闭包调用自身与三元运算符让程序变得内敛,初心者应该好好学习这种写法。

实现2

复制代码 代码如下:

var getRandomColor = function(){   

  return (function(m,s,c){   
    return (c ? arguments.callee(m,s,c-1) : '#') +   
      s[m.floor(m.random() * 16)]   
  })(Math,'0123456789abcdef',5)   
}

把Math对象,用于生成hex颜色值的字符串提取出来,并利用第三个参数来判断是否还继续调用自身。

实现3

复制代码 代码如下:

以下为引用的内容:

Array.prototype.map = function(fn, thisObj) {

  var scope = thisObj || window;
  var a = [];
  for ( var i=0, j=this.length; i     a.push(fn.call(scope, this[i], i, this));
  }
  return a;
};
var getRandomColor = function(){
  return '#'+'0123456789abcdef'.split('').map(function(v,i,a){
    return i>5 ? null : a[Math.floor(Math.random()*16)] }).join('');
}


这个要求我们对数组做些扩展,map将返回一个数组,然后我们再用join把它的元素串成字符。

实现4

复制代码 代码如下:

以下为引用的内容:

var getRandomColor = function(){

  return '#'+Math.floor(Math.random()*16777215).toString(16);
}


这个实现非常逆天,虽然有点小bug。我们知道hex颜色值是从#000000到#ffffff,后面那六位数是16进制数,相当于“0x000000”到“0xffffff”。这实现的思路是将hex的最大值ffffff先转换为10进制,进行random后再转换回16进制。我们看一下,如何得到16777215 这个数值的。
复制代码 代码如下:

以下为引用的内容:




hex的最大值



实现5
复制代码 代码如下:

以下为引用的内容:

var getRandomColor = function(){

  return '#'+(Math.random()*0xffffff}


基本实现4的改进,利用左移运算符把0xffffff转化为整型。这样就不用记16777215了。由于左移运算符的优先级比不上乘号,因此随机后再左移,连Math.floor也不用了。

实现6

复制代码 代码如下:

以下为引用的内容:

var getRandomColor = function(){

  return '#'+(function(h){
    return new Array(7-h.length).join("0")+h
  })((Math.random()*0x1000000}


修正上面版本的bug(无法生成纯白色与hex位数不足问题)。0x1000000相当0xffffff+1,确保会抽选到0xffffff。在闭包里我们处理hex值不足5位的问题,直接在未位补零。

实现7

复制代码 代码如下:

以下为引用的内容:

var getRandomColor = function(){

  return '#'+('00000'+(Math.random()*0x1000000}


这次在前面补零,连递归检测也省了。

实战一下:

复制代码 代码如下:

以下为引用的内容:



 


   
    初级饼图
   
   
   
    初级2324234饼图
 
 
   

初级23232饼图


   

 

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Alat penting untuk analisis saham: Ketahui langkah-langkah untuk melukis carta lilin dengan PHP dan JS Alat penting untuk analisis saham: Ketahui langkah-langkah untuk melukis carta lilin dengan PHP dan JS Dec 17, 2023 pm 06:55 PM

Alat penting untuk analisis saham: Pelajari langkah-langkah untuk melukis carta lilin dalam PHP dan JS, contoh kod khusus diperlukan Dengan perkembangan pesat Internet dan teknologi, perdagangan saham telah menjadi salah satu cara penting bagi banyak pelabur. Analisis saham adalah bahagian penting dalam membuat keputusan pelabur, dan carta lilin digunakan secara meluas dalam analisis teknikal. Mempelajari cara melukis carta lilin menggunakan PHP dan JS akan memberikan pelabur maklumat yang lebih intuitif untuk membantu mereka membuat keputusan yang lebih baik. Carta candlestick ialah carta teknikal yang memaparkan harga saham dalam bentuk candlestick. Ia menunjukkan harga saham

Disyorkan: Projek pengesanan dan pengecaman muka sumber terbuka JS yang sangat baik Disyorkan: Projek pengesanan dan pengecaman muka sumber terbuka JS yang sangat baik Apr 03, 2024 am 11:55 AM

Teknologi pengesanan dan pengecaman muka adalah teknologi yang agak matang dan digunakan secara meluas. Pada masa ini, bahasa aplikasi Internet yang paling banyak digunakan ialah JS Melaksanakan pengesanan muka dan pengecaman pada bahagian hadapan Web mempunyai kelebihan dan kekurangan berbanding dengan pengecaman muka bahagian belakang. Kelebihan termasuk mengurangkan interaksi rangkaian dan pengecaman masa nyata, yang sangat memendekkan masa menunggu pengguna dan meningkatkan pengalaman pengguna termasuk: terhad oleh saiz model, ketepatannya juga terhad. Bagaimana untuk menggunakan js untuk melaksanakan pengesanan muka di web? Untuk melaksanakan pengecaman muka di Web, anda perlu biasa dengan bahasa dan teknologi pengaturcaraan yang berkaitan, seperti JavaScript, HTML, CSS, WebRTC, dll. Pada masa yang sama, anda juga perlu menguasai visi komputer yang berkaitan dan teknologi kecerdasan buatan. Perlu diingat bahawa kerana reka bentuk bahagian Web

Cara membuat carta candlestick saham menggunakan PHP dan JS Cara membuat carta candlestick saham menggunakan PHP dan JS Dec 17, 2023 am 08:08 AM

Cara menggunakan PHP dan JS untuk mencipta carta lilin saham Carta lilin saham ialah grafik analisis teknikal biasa dalam pasaran saham Ia membantu pelabur memahami saham dengan lebih intuitif dengan melukis data seperti harga pembukaan, harga penutup, harga tertinggi. dan harga terendah turun naik harga saham. Artikel ini akan mengajar anda cara membuat carta lilin saham menggunakan PHP dan JS, dengan contoh kod khusus. 1. Persediaan Sebelum memulakan, kita perlu menyediakan persekitaran berikut: 1. Pelayan yang menjalankan PHP 2. Pelayar yang menyokong HTML5 dan Kanvas 3

Petua Pembangunan PHP dan JS: Kuasai Kaedah Melukis Carta Lilin Stok Petua Pembangunan PHP dan JS: Kuasai Kaedah Melukis Carta Lilin Stok Dec 18, 2023 pm 03:39 PM

Dengan perkembangan pesat kewangan Internet, pelaburan saham telah menjadi pilihan semakin ramai orang. Dalam perdagangan saham, carta lilin adalah kaedah analisis teknikal yang biasa digunakan Ia boleh menunjukkan trend perubahan harga saham dan membantu pelabur membuat keputusan yang lebih tepat. Artikel ini akan memperkenalkan kemahiran pembangunan PHP dan JS, membawa pembaca memahami cara melukis carta lilin saham dan menyediakan contoh kod khusus. 1. Memahami Carta Lilin Saham Sebelum memperkenalkan cara melukis carta lilin saham, kita perlu memahami dahulu apa itu carta lilin. Carta candlestick telah dibangunkan oleh orang Jepun

Bagaimana untuk menukar warna bar tugas Windows 10 Bagaimana untuk menukar warna bar tugas Windows 10 Jan 01, 2024 pm 09:05 PM

Ia sangat mudah untuk mengubah suai warna bar tugas dalam Windows 10, tetapi ramai pengguna mendapati bahawa mereka tidak boleh menetapkannya, sebenarnya, ia adalah sangat mudah. perhatikan tetapan terperinci. Cara menukar warna bar tugas win10 Langkah 1: Klik kanan pada desktop - klik Peribadikan Langkah 2: Sesuaikan kawasan warna Langkah 3: Pilih warna kegemaran anda PS: Jika anda tidak boleh menukar warna, anda boleh klik Warna -> Pilih Warna -> Sesuaikan-> Mod tingkap lalai, pilih warna gelap.

Memori siri X100 baharu Vivo, pendedahan warna: semua siri bermula pada 12+256GB Memori siri X100 baharu Vivo, pendedahan warna: semua siri bermula pada 12+256GB May 06, 2024 pm 03:58 PM

Menurut berita pada 6 Mei, vivo secara rasmi mengumumkan hari ini bahawa siri vivoX100 baharu akan dikeluarkan secara rasmi pada jam 19:00 pada 13 Mei. Difahamkan persidangan ini dijangka mengeluarkan tiga model, vivoX100s, vivoX100sPro, dan vivoX100Ultra, serta teknologi pengimejan blueprint blueprint jenama vivo yang dibangunkan sendiri. Blogger digital "Digital Chat Station" turut mengeluarkan rendering rasmi, spesifikasi memori dan padanan warna bagi ketiga-tiga model ini hari ini Antaranya, X100s menggunakan reka bentuk skrin lurus, manakala X100sPro dan X100Ultra mempunyai reka bentuk skrin melengkung. Blogger mendedahkan bahawa vivoX100s datang dalam empat warna: hitam, titanium, cyan, dan spesifikasi memori

Adakah anda tahu bagaimana untuk menetapkan warna jadual dokumen WPS? Adakah anda tahu bagaimana untuk menetapkan warna jadual dokumen WPS? Mar 20, 2024 am 08:19 AM

Apabila kita melihat warna jadual dalam dokumen WPS orang lain, kesannya berwarna-warni dan cantik tetapi kita hanya mempunyai warna hitam yang membosankan. Jika anda perlu mengisi meja dengan warna, saya percaya ramai pelajar akan melakukannya. Walau bagaimanapun, jika anda ingin menetapkan warna jadual dalam dokumen WPS China, ramai pelajar pasti akan mendapati ia mengelirukan! Hari ini, mari kita pelajari cara menetapkan warna jadual dokumen WPS. Saya telah menyusun dokumen yang saya harap akan membantu semua orang. Langkah-langkahnya adalah seperti berikut: 1. Kita perlu melukis jadual dalam dokumen WPS dan klik kanan pada jadual di mana warna garisan akan diubah suai. 2. Seterusnya, gunakan tetikus untuk mengklik [butang kanan tetikus] pada jadual dalam menu pop timbul, kita dapati [Border and Shading]. 3. Pada masa ini, pilihan [Border and Shading] akan dibuka.

Bagaimana untuk menyelesaikan masalah warna abnormal monitor Win7 Bagaimana untuk menyelesaikan masalah warna abnormal monitor Win7 Jan 14, 2024 pm 06:54 PM

Kami tahu bahawa komputer akan mengalami pelbagai masalah selepas digunakan untuk masa yang lama Yang paling biasa adalah masalah monitor Ramai pengguna mengalami warna monitor yang tidak normal. mari kita lihat penyelesaiannya. Apa yang perlu dilakukan jika monitor Win7 mempunyai warna yang tidak normal: Fenomena kegagalan monitor biasa adalah seperti berikut: 1. Tiada paparan semasa menghidupkan komputer, dan monitor sering tidak dihidupkan. 2. Aksara pada skrin monitor adalah kabur. 3. Monitor mempunyai tompok warna. 4. Jalur berwarna beralun kelihatan pada monitor. 5. Monitor mempunyai bau yang pelik. 6. Terdapat bunyi "pop" berterusan dari monitor. 7. Di bawah aplikasi atau konfigurasi tertentu, skrin mungkin menjadi kabur, gelap (atau malah hitam), hantu, atau beku, dsb. 8. Paparan tidak mempunyai warna, dinyahfokus, skrin terlalu terang, atau

See all articles