中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript 中Utility函數如何使用

發布時間:2021-07-01 17:30:24 來源:億速云 閱讀:272 作者:Leah 欄目:web開發

JavaScript 中Utility函數如何使用,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

檢測瀏覽器

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

例如:

JavaScript 中Utility函數如何使用

Mac OS上的Chrome

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

JavaScript 中Utility函數如何使用

Mac OS上的Firefox

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

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

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

檢測函數類型

函數類型有兩種:

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

  • 由用戶編寫的函數

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

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

JavaScript 中Utility函數如何使用

本機函數

JavaScript 中Utility函數如何使用

用戶函數

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

由此可以寫出如下函數:

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

轉換hyphen-case為camelCase

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

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

JavaScript 中Utility函數如何使用
functioncamelize(str) {     const camelizeRE =/-(\w)/g;     return str.replace(camelizeRE,  (_, c) => c ? c.toUpperCase() : ''); }

刪除字符串中的HTML標簽

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

conststripHTMLTags = str => str.replace(/<[^>]*>/g, '');
JavaScript 中Utility函數如何使用

反轉字符串

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

conststripHTMLTags = str => str.replace(/<[^>]*>/g, '');
JavaScript 中Utility函數如何使用

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

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

  • 111111 => 111,111

  • 123456789 => 123,456,789

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

functionnumberToStringWithComma(number) {     // convert number to string     let str =String(number);     let s ='';     let count =0;     for (let i = str.length-1; i >= 0; i--) {       s = str[i] + s       count++       // add a comma to every three numbers       if (count % 3==0&& i != 0) {         s =','+ s       }     }     return s }
JavaScript 中Utility函數如何使用

轉換字節單位為合理單位

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

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

functionbytesToSize (bytes) {     if (bytes ===0) return'0 B';     var k =1024;     var sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']     var i =Math.floor(Math.log(bytes) / Math.log(k))     return (bytes / Math.pow(k, i)).toPrecision(3) +' '+ sizes[i] }
JavaScript 中Utility函數如何使用

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安泽县| 平和县| 龙井市| 丰台区| 杂多县| 三穗县| 南靖县| 漳州市| 临潭县| 万载县| 霍州市| 长岛县| 玛沁县| 酉阳| 吉林省| 龙山县| 郧西县| 宕昌县| 平山县| 乌拉特前旗| 天全县| 从江县| 盐边县| 德钦县| 钦州市| 安化县| 上栗县| 漳州市| 乐东| 荆门市| 平乡县| 且末县| 隆安县| 二手房| 长沙县| 晋中市| 剑阁县| 旅游| 泗水县| 甘德县| 沙河市|