检测浏览器、检测函数类型、将连字符大小写转换为camelCase、删除字符串中的HTML标签、反转字符串等,今天小新给大家分享7个JavaScriptUtility函数,可以帮助提高效率。如果觉得有用,请收藏并分享~检测浏览器不同的浏览器有不同的navigator.useragent,可以通过查看它的值来判断。检测浏览器类型。示例:MacOS上的Chrome此输出中包含一个“chrome”字符串。MacOS上的Firefox此输出中包含一个“firefox”字符串。所以只需要检查navigator.useragent中是否有浏览器品牌名称即可检测浏览器类型。constinBrowser=typeofwindow!=='未定义'//getuseragentconstUA=inBrowser&&window.navigator.userAgent.toLowerCase()//detectbrowserconstisIE=UA&&/msie|trident/.test(UA)constisIE9=UA&&UA.indexOf('msie9.0')>0constisEdge=UA&&UA.indexOf('edge/')>0constisChrome=UA&&/chrome\/\d+/.test(UA)&&!isEdgeconstisPhantomJS=UA&&/phantomjs/.test(UA)constisFF=UA&&UA.match(/firefox\/(\d+)/)//detectOSconstisAndroid=UA&&UA.indexOf('android')>0constisIOS=UA&&/iphone|ipad|ipod|ios/.test(UA)有两种检测函数类型:运行环境提供native函数。例如Array.isArray,console.log。用户编写的函数在一些复杂的情况下,可能需要区分这两种类型的函数。那么如何在代码中区分这两类函数呢?很简单,它们在转换为字符串时输出不同的结果。本机函数用户函数当本机函数转换为字符串时,输出始终包含本机代码。由此可写出如下函数:functionisNative(func){returntypeoffunc==='function'&&/nativecode/.test(func.toString())}helloWorld字符串样式是一个非常普遍的需求。为此,可以使用正则表达式。您可以使用/-(\w)/g来匹配–之后的所有小写字母,并将它们替换为大写字母。functioncamelize(str){constcamelizeRE=/-(\w)/g;returnstr.replace(camelizeRE,(_,c)=>c?c.toUpperCase():'');}去掉字符串中的HTML标签out出于安全原因,通常需要从字符串中删除HTML标记。使用简单的正则表达式即可轻松完成此任务。conststripHTMLTags=str=>str.replace(/<[^>]*>/g,'');反转字符串反转字符串是一个非常普遍的需求。您可以通过将字符串拆分为数组,然后反转数组并将其连接起来来实现。conststripHTMLTags=str=>str.replace(/<[^>]*>/g,'');用逗号将数字格式化为字符串为了使较大的数字更易于阅读,通常会在数字中间添加一些分隔符。111111=>111,111123456789=>123,456,789通常每隔三位加一个逗号。functionnumberToStringWithComma(number){//convertnumbertostringletstr=String(number);lets='';letcount=0;for(leti=str.length-1;i>=0;i--){s=str[i]+scount++//addacommatoeverythreenumbersif(count%3==0&&i!=0){s=','+s}}returns}将字节单位转换为合理的单位在计算机中,文件的大小通常以字节为单位。但如果它是一个很大的数字,它对人类来说是不可读的。例如,当人们第一次看到数字98223445B时,很难有任何直观的感受。但是如果你用93.7MB,就会很熟悉了。所以我们需要写一个易于读取大数的函数。functionbytesToSize(bytes){if(bytes===0)return'0B';vark=1024;varsizes=['B','KB','MB','GB','TB','PB','EB','ZB','YB']vari=Math.floor(Math.log(bytes)/Math.log(k))return(bytes/Math.pow(k,i)).toPrecision(3)+''+sizes[i]}感谢您的阅读,希望对您有所帮助~
