js常用函数封装

判断小数点后面的位数是否合理 

const judgeDigits = (munber,digits) => {
  let str = munber.toString();
  let arr = str.split('.');
  if(arr.length == 1){ return true }
  if(arr.length == 2){
    if(arr[1].length == 2 || arr[1].length == 1){
      return true;
    }
  }
  return false;
}

生成某一个范围的随机数

function selectFrom(lowerValue, upperValue) { 
 let choices = upperValue - lowerValue + 1; 
 return Math.floor(Math.random() * choices + lowerValue); 
} 
let num = selectFrom(2,10); 
console.log(num); // 2~10 范围内的值,其中包含 2 和 10
let colors = ["red", "green", "blue", "yellow", "black", "purple", "brown"]; 
let color = colors[selectFrom(0, colors.length-1)];

URL获取Get参数(也可以使用URLSearchParams对象代替

let getQueryStringArgs = function() { 
 // 取得没有开头问号的查询字符串
 let qs = (location.search.length > 0 ? location.search.substring(1) : ""), 
 // 保存数据的对象
 args = {}; 
 // 把每个参数添加到 args 对象
 for (let item of qs.split("&").map(kv => kv.split("="))) { 
 let name = decodeURIComponent(item[0]), 
 value = decodeURIComponent(item[1]); 
 if (name.length) { 
     args[name] = value; 
 } 
 } 
 return args; 
}

URLSearchParams对象

let qs = "?q=javascript&num=10"; 
let searchParams = new URLSearchParams(qs); 
alert(searchParams.toString()); // " q=javascript&num=10" 
searchParams.has("num"); // true 
searchParams.get("num"); // 10 
searchParams.set("page", "3"); 
alert(searchParams.toString()); // " q=javascript&num=10&page=3" 
searchParams.delete("q"); 
alert(searchParams.toString()); // " num=10&page=3"

插件检测(IE10 及更低版本无效)

let hasPlugin = function(name) { 
 name = name.toLowerCase(); 
 for (let plugin of window.navigator.plugins){ 
 if (plugin.name.toLowerCase().indexOf(name) > -1){ 
     return true; 
 } 
 } 
 return false; 
} 
// 检测 Flash 
alert(hasPlugin("Flash")); 
// 检测 QuickTime 
alert(hasPlugin("QuickTime"));

// 一般要针对特定插件写一个函数
// 在所有浏览器中检测 Flash 
function hasFlash() { 
 var result = hasPlugin("Flash"); 
 if (!result){ 
 result = hasIEPlugin("ShockwaveFlash.ShockwaveFlash"); 
 } 
 return result; 
} 
// 在所有浏览器中检测 QuickTime 
function hasQuickTime() { 
 var result = hasPlugin("QuickTime"); 
 if (!result){ 
 result = hasIEPlugin("QuickTime.QuickTime"); 
 } 
 return result; 
} 
// 检测 Flash 
alert(hasFlash()); 
// 检测 QuickTime 
alert(hasQuickTime());

在旧版本 IE 中检测插件

function hasIEPlugin(name) { 
 try { 
 new ActiveXObject(name); 
 return true; 
 } catch (ex) { 
 return false; 
 } 
} 
// 检测 Flash 
alert(hasIEPlugin("ShockwaveFlash.ShockwaveFlash")); 
// 检测 QuickTime 
alert(hasIEPlugin("QuickTime.QuickTime"));

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值