js中有趣又常用的函数封装

下面介绍一下那些前端比较常用的函数:

  1. 随机数(在指定范围内)
function randoms(max,min){
    if(min===undefined) min=0;
    return Math.floor(Math.random()*(max-min)+min);
 }
 randoms(10,2);    //8

可以随机到指定范围的数字

  1. 随机颜色
function randomColor(){
    var col="#";
     for(var i=0;i<6;i++){
         col+=this.randoms(16).toString(16);
     }
     return col;
 }

当我们想要一个随机色彩时,直接调用该函数,就可以得到想要的结果。

  1. 生成四位数验证码(随机生成)
function verificationCode(){
       var arr = [];
       for(var i = 48;i<123;i++){
           if(i>57 && i<65){
               continue;
               i = 64;
           }
           if(i>90 && i<97){
               continue;
               i = 96;
           }
           arr.push(String.fromCharCode(i));    //String.fromCharCode(46) 将编码转换为字符串
       }
       arr =  arr.sort(function(){
           return Math.random()-0.5;
       })
       arr.length = 4;
       str = arr.join("");
       // res.innerHTML=str.toLowerCase();    //将字符串的大写转换为小写
       // res.innerHTML = str.toUpperCase();     //将字符串中的所有小写字母转换为大写字母
       return str;
   }

有的网站上登录需要设计验证码,但是你又不想写了,正好这个函数出现了,完美解决你的问题。

  1. 获取浏览器的名称以及版本(可以解决浏览器的兼容问题)
function getBrowserRV(){
     var str=navigator.userAgent;
     // 判断是否是Chrome
     if(str.indexOf("Chrome")>-1){
         var index=str.indexOf("Chrome");
         return str.slice(index,str.indexOf(" ",index+1)).split("/");
     }
      // 判断是否是Firefox
     if(str.indexOf("Firefox")>-1){
         var index=str.indexOf("Firefox");
         return str.slice(index).split("/");
     }
     // 判断是否是IE11
     if(str.indexOf("rv:")>-1 && str.indexOf("Trident")>-1){
         return ["IE","11"];
     }
     // 判断是否是IE10及以下
     if(str.indexOf("Trident")>-1){
         var index=str.indexOf("MSIE");
         return ["IE",str.slice(index,str.indexOf(";",index)).split(" ")[1]];
     }
 }

前端设计时,最最最最讨厌的就是解决浏览器兼容问题,这个函数可以帮助你获取到对应的浏览器版本,能够快速的解决“烦人“”的IE8.

  1. 获取地址栏上的参数(有时候我们会利用地址栏传递参数,又想获取,又不想操作,正好这个函数能够满足你的想法)
function queryString(values){
     var arr = location.search.slice(1).split("&");
     arr = arr.map((item)=>(
         {key:item.split("=")[0],
         value:item.split("=")[1]}));
     var str = arr.filter(({key})=>key == values);
     return str ? str[0].value : '';
 }

上面函数能够获取到地址栏上的所有数据,操作简单。

猜你喜欢

转载自blog.csdn.net/qq_40375518/article/details/106863676