jséæºé¢è²ä»£ç çå¤ç§å®ç°æ¹å¼_javascriptæå·§
æ¹æ³æè·¯æ»å ±æäºãä¸æ¯åå¤ä¸ç»æ¼äº®çåéé¢è²ï¼äºæ¯éæºçæé¢è²ã
å®ç°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 è¿ä¸ªæ°å¼çã
以ä¸ä¸ºå¼ç¨çå 容ï¼
å®ç°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}
è¿æ¬¡å¨åé¢è¡¥é¶ï¼è¿éå½æ£æµä¹çäºã
å®æä¸ä¸ï¼
以ä¸ä¸ºå¼ç¨çå 容ï¼
å级23232饼å¾
推荐阅读
-
js获取html页面节点方法(递归方式)_javascript技巧
-
js验证真实姓名与身份证号是否匹配_javascript技巧
-
JavaScript DOM学习第八章 表单错误提示_基础知识
-
IE6与IE7中,innerHTML获取param的区别_javascript技巧
-
js判断60秒以及倒计时示例代码_javascript技巧
-
JS控制表格隔行变色的实现代码展示
-
js delete 用法(删除对象属性及变量)_javascript技巧
-
JS中style属性_javascript技巧
-
node.js中npm包管理工具用法分析
-
javaScript Array(数组)相关方法简述_javascript技巧