日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
7個(gè)有助于提升效率的JavaScriptUtility函數(shù)

檢測(cè)瀏覽器、檢測(cè)函數(shù)類型、轉(zhuǎn)換hyphen-case為camelCase、刪除字符串中的HTML標(biāo)簽、以及反轉(zhuǎn)字符串等。

在河曲等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),營(yíng)銷型網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站建設(shè),河曲網(wǎng)站建設(shè)費(fèi)用合理。

今天,小芯會(huì)給大家分享7個(gè)有助于提升效率的JavaScript Utility函數(shù),覺得有用的話,就趕緊收藏分享吧~

檢測(cè)瀏覽器

不同的瀏覽器有不同的navigator.useragent,可通過檢查其值來檢測(cè)瀏覽器類型。

例如:

Mac OS上的Chrome

此輸出結(jié)果中有一個(gè)“chrome”字符串。

Mac OS上的Firefox

此輸出結(jié)果中有一個(gè)“firefox”字符串。

所以只需要檢查navigator.useragent中是否有瀏覽器品牌名,就可以檢測(cè)瀏覽器類型。

 
 
 
  1. const inBrowser =typeof window !== 'undefined' 
  2. // get user agent 
  3. constUA= inBrowser && window.navigator.userAgent.toLowerCase() 
  4. // detect browser 
  5. const isIE =UA&&/msie|trident/.test(UA) 
  6. const isIE9 =UA&&UA.indexOf('msie 9.0') >0 
  7. const isEdge =UA&&UA.indexOf('edge/') >0 
  8. const isChrome =UA&&/chrome\/\d+/.test(UA) && !isEdge 
  9. const isPhantomJS =UA&&/phantomjs/.test(UA) 
  10. const isFF =UA&&UA.match(/firefox\/(\d+)/) 
  11. // detect OS 
  12. const isAndroid =UA&&UA.indexOf('android') >0 
  13. const isIOS =UA&&/iphone|ipad|ipod|ios/.test(UA) 

檢測(cè)函數(shù)類型

函數(shù)類型有兩種:

  • 運(yùn)行時(shí)環(huán)境提供的本機(jī)函數(shù)。例如 Array.isArray、console.log。
  • 由用戶編寫的函數(shù)

在一些復(fù)雜案例中,可能需要對(duì)這兩種類型函數(shù)進(jìn)行區(qū)分。

那么如何在代碼中區(qū)分這兩種類型的函數(shù)呢? 很簡(jiǎn)單,它們?cè)谵D(zhuǎn)換為字符串時(shí)會(huì)輸出不同的結(jié)果。

本機(jī)函數(shù)

用戶函數(shù)

當(dāng)本機(jī)函數(shù)被轉(zhuǎn)換為字符串時(shí),輸出結(jié)果總是包含native code。

由此可以寫出如下函數(shù):

 
 
 
  1. functionisNative (func){ 
  2.     returntypeof func ==='function'&&/native code/.test(func.toString()) 

轉(zhuǎn)換hyphen-case為camelCase

將hello-world字符串樣式轉(zhuǎn)換成helloWorld字符串樣式是一個(gè)非常常見的需求。為此,可以使用正則表達(dá)式。

可以使用/-(\w)/g來匹配所有在–后面的小寫字母,然后使用大寫字母對(duì)它們進(jìn)行替換。

 
 
 
  1. functioncamelize(str) { 
  2.     const camelizeRE =/-(\w)/g; 
  3.     return str.replace(camelizeRE,  (_, c) => c ? c.toUpperCase() : ''); 

刪除字符串中的HTML標(biāo)簽

出于安全考慮,經(jīng)常需要從字符串中刪除HTML標(biāo)簽。使用一個(gè)簡(jiǎn)單的正則表達(dá)式就能輕松完成這項(xiàng)任務(wù)。

 
 
 
  1. conststripHTMLTags = str => str.replace(/<[^>]*>/g, ''); 

反轉(zhuǎn)字符串

反轉(zhuǎn)字符串是一個(gè)很常見的需求。為此,可以將一個(gè)字符串拆分為一個(gè)數(shù)組,然后反轉(zhuǎn)該數(shù)組并將其連接。

 
 
 
  1. conststripHTMLTags = str => str.replace(/<[^>]*>/g, ''); 

用逗號(hào)將數(shù)字格式化為字符串

為了使一個(gè)較大的數(shù)更易于閱讀,經(jīng)常會(huì)在數(shù)字中間加一些分隔符。

  • 111111 => 111,111
  • 123456789 => 123,456,789

通常每隔三個(gè)數(shù)字添加一個(gè)逗號(hào)。

 
 
 
  1. functionnumberToStringWithComma(number) { 
  2.     // convert number to string 
  3.     let str =String(number); 
  4.     let s =''; 
  5.     let count =0; 
  6.     for (let i = str.length-1; i >= 0; i--) { 
  7.       s = str[i] + s 
  8.       count++ 
  9.       // add a comma to every three numbers 
  10.       if (count % 3==0&& i != 0) { 
  11.         s =','+ s 
  12.       } 
  13.     } 
  14.     return s 

轉(zhuǎn)換字節(jié)單位為合理單位

在計(jì)算機(jī)中,文件的大小通常以字節(jié)為單位。但如果它是一個(gè)很大的數(shù)字,對(duì)人類來說則是不可讀的。

例如,第一次看到98223445B這個(gè)數(shù)字時(shí),人們很難有任何直觀的感覺。但是如果使用93.7MB,就會(huì)對(duì)它非常熟悉。所以需要寫一個(gè)便于閱讀偏大數(shù)字的函數(shù)。

 
 
 
  1. functionbytesToSize (bytes) { 
  2.     if (bytes ===0) return'0 B'; 
  3.     var k =1024; 
  4.     var sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] 
  5.     var i =Math.floor(Math.log(bytes) / Math.log(k)) 
  6.     return (bytes / Math.pow(k, i)).toPrecision(3) +' '+ sizes[i] 

感謝閱讀,希望能對(duì)你有所幫助~


文章題目:7個(gè)有助于提升效率的JavaScriptUtility函數(shù)
網(wǎng)頁(yè)URL:http://m.5511xx.com/article/dhchjgh.html