成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

7個有助于提升效率的JavaScript Utility函數

開發 前端
檢測瀏覽器、檢測函數類型、轉換hyphen-case為camelCase、刪除字符串中的HTML標簽、以及反轉字符串等。

檢測瀏覽器、檢測函數類型、轉換hyphen-case為camelCase、刪除字符串中的HTML標簽、以及反轉字符串等。

[[319489]]

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

檢測瀏覽器

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

例如:

​7個有助于提升效率的JavaScript Utility函數

Mac OS上的Chrome

此輸出結果中有一個“chrome”字符串。

​7個有助于提升效率的JavaScript Utility函數

Mac OS上的Firefox

此輸出結果中有一個“firefox”字符串。

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

  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) 

檢測函數類型

函數類型有兩種:

  • 運行時環境提供的本機函數。例如 Array.isArray、console.log。
  • 由用戶編寫的函數

在一些復雜案例中,可能需要對這兩種類型函數進行區分。

那么如何在代碼中區分這兩種類型的函數呢? 很簡單,它們在轉換為字符串時會輸出不同的結果。

​7個有助于提升效率的JavaScript Utility函數

本機函數

​7個有助于提升效率的JavaScript Utility函數

用戶函數

當本機函數被轉換為字符串時,輸出結果總是包含native code。

由此可以寫出如下函數:

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

轉換hyphen-case為camelCase

將hello-world字符串樣式轉換成helloWorld字符串樣式是一個非常常見的需求。為此,可以使用正則表達式。

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

​7個有助于提升效率的JavaScript Utility函數
  1. functioncamelize(str) { 
  2.     const camelizeRE =/-(\w)/g; 
  3.     return str.replace(camelizeRE,  (_, c) => c ? c.toUpperCase() : ''); 

刪除字符串中的HTML標簽

出于安全考慮,經常需要從字符串中刪除HTML標簽。使用一個簡單的正則表達式就能輕松完成這項任務。

  1. conststripHTMLTags = str => str.replace(/<[^>]*>/g, ''); 
​7個有助于提升效率的JavaScript Utility函數

反轉字符串

反轉字符串是一個很常見的需求。為此,可以將一個字符串拆分為一個數組,然后反轉該數組并將其連接。

  1. conststripHTMLTags = str => str.replace(/<[^>]*>/g, ''); 
​7個有助于提升效率的JavaScript Utility函數

用逗號將數字格式化為字符串

為了使一個較大的數更易于閱讀,經常會在數字中間加一些分隔符。

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

通常每隔三個數字添加一個逗號。

  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 
​7個有助于提升效率的JavaScript Utility函數

轉換字節單位為合理單位

在計算機中,文件的大小通常以字節為單位。但如果它是一個很大的數字,對人類來說則是不可讀的。

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

  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] 
​7個有助于提升效率的JavaScript Utility函數

感謝閱讀,希望能對你有所幫助~

 

責任編輯:華軒 來源: 今日頭條
相關推薦

2021-06-10 09:34:24

前端開發工具開發

2019-11-19 12:40:36

AI人工智能開源工具

2019-11-18 11:07:13

人工智能技術Apache

2018-10-25 14:14:52

云計算機器學習數據分析

2022-02-07 15:53:24

開發人員AMDLinux

2021-08-13 10:33:55

IT經理首席信息官CIO

2022-10-08 08:38:32

物聯網

2010-03-12 16:15:06

Python調試

2022-08-26 14:20:14

物聯網人工智能智慧城市

2020-09-21 12:12:23

ICT

2011-12-09 09:31:58

桌面虛擬化

2021-11-26 05:14:44

開源數據庫安全漏洞

2021-08-06 10:00:29

網站劫持網絡攻擊網站安全

2020-03-30 08:17:04

Promise開發JavaScript

2017-04-14 10:40:43

SDS系統選擇

2023-06-09 19:03:35

開源組織

2019-08-12 07:39:25

數據中心IT開銷

2020-02-05 13:03:55

數據中心混合云技術

2013-07-17 09:19:23

2022-03-15 14:31:23

網絡安全數據泄露網絡犯罪
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲欧美综合精品久久成人 | 日本爱爱| 国产专区免费 | 久久久精品久久 | 色妞av| 久久国产区 | 国内精品久久精品 | 久久综合九色综合欧美狠狠 | 黑人精品欧美一区二区蜜桃 | 日韩综合在线播放 | 欧美人人 | av在线电影网 | 国产高清精品一区二区三区 | 国产一区二区中文字幕 | 欧美1页| 国产精品网页 | 99国产精品99久久久久久 | 亚洲三级视频 | 久久国产精品一区二区三区 | 国产1区在线 | 91操操操 | 国产 日韩 欧美 在线 | 影音先锋成人资源 | 亚洲性人人天天夜夜摸 | 中文字幕乱码一区二区三区 | 日韩av在线一区二区 | 日韩久久久久久 | 欧美国产视频 | 国产成人一区二区三区久久久 | 欧美日韩久久 | 欧美久久久久 | 免费黄色a视频 | 日韩av一区二区在线观看 | 精品一区二区三区日本 | 久久网站黄 | 中文字幕电影在线观看 | 久久国产精品一区二区 | 免费在线看a | 国产激情福利 | 欧美激情综合五月色丁香小说 | 一区二区久久 |