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

八個工程必備的JavaScript代碼片段(建議添加到項目中)

開發 前端
8個工程必備的JavaScript代碼片段,聽過這樣起博客標題可以提高閱讀量。

[[432011]]

 1. 獲取文件后綴名

使用場景:上傳文件判斷后綴名 

  1. /**  
  2.  * 獲取文件后綴名  
  3.  * @param {String} filename  
  4.  */  
  5.  export function getExt(filename) {  
  6.     if (typeof filename == 'string') {  
  7.         return filename  
  8.             .split('.')  
  9.             .pop()  
  10.             .toLowerCase()  
  11.     } else {  
  12.         throw new Error('filename must be a string type')  
  13.     }  
  14.  
  15. 復制代碼 

使用方式 

  1. getExt("1.mp4") //->mp4  
  2. 復制代碼 

2. 復制內容到剪貼板 

  1. export function copyToBoard(value) {  
  2.     const element = document.createElement('textarea')  
  3.     document.body.appendChild(element)  
  4.     element.value = value  
  5.     element.select()  
  6.     if (document.execCommand('copy')) {  
  7.         document.execCommand('copy')  
  8.         document.body.removeChild(element)  
  9.         return true  
  10.     }  
  11.     document.body.removeChild(element)  
  12.     return false  
  13. 復制代碼

使用方式: 

  1. //如果復制成功返回true  
  2. copyToBoard('lalallala')  
  3. 復制代碼 

原理:

  1.  創建一個textare元素并調用select()方法選中
  2.  document.execCommand('copy')方法,拷貝當前選中內容到剪貼板。

3. 休眠多少毫秒 

  1. /**  
  2.  * 休眠xxxms  
  3.  * @param {Number} milliseconds  
  4.  */  
  5. export function sleep(ms) {  
  6.     return new Promise(resolve => setTimeout(resolve, ms))  
  7.  
  8. //使用方式  
  9. const fetchData=async()=> 
  10.  await sleep(1000)  
  11.  
  12. 復制代碼 

4. 生成隨機字符串 

  1. /**  
  2.  * 生成隨機id  
  3.  * @param {*} length  
  4.  * @param {*} chars  
  5.  */  
  6. export function uuid(length, chars) {  
  7.     charschars =  
  8.         chars ||  
  9.         '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'  
  10.     lengthlength = length || 8  
  11.     var result = ''  
  12.     for (var i = length; i > 0; --i)  
  13.         result += chars[Math.floor(Math.random() * chars.length)]  
  14.     return result  
  15.  
  16. 復制代碼 

使用方式 

  1. //第一個參數指定位數,第二個字符串指定字符,都是可選參數,如果都不傳,默認生成8位  
  2. uuid()   
  3. 復制代碼 

使用場景:用于前端生成隨機的ID,畢竟現在的Vue和React都需要綁定key

5. 簡單的深拷貝 

  1. /**  
  2.  *深拷貝  
  3.  * @export  
  4.  * @param {*} obj  
  5.  * @returns  
  6.  */  
  7. export function deepCopy(obj) {  
  8.     if (typeof obj != 'object') {  
  9.         return obj  
  10.     }  
  11.     if (obj == null) {  
  12.         return obj  
  13.     }  
  14.     return JSON.parse(JSON.stringify(obj))  
  15.  
  16. 復制代碼 

缺陷:只拷貝對象、數組以及對象數組,對于大部分場景已經足夠 

  1. const person={name:'xiaoming',child:{name:'Jack'}}  
  2. deepCopy(person) //new person  
  3. 復制代碼 

6. 數組去重 

  1. /**  
  2.  * 數組去重  
  3.  * @param {*} arr 
  4.  */  
  5. export function uniqueArray(arr) {  
  6.     if (!Array.isArray(arr)) {  
  7.         throw new Error('The first parameter must be an array')  
  8.     }  
  9.     if (arr.length == 1) {  
  10.         return arr  
  11.     }  
  12.     return [...new Set(arr)]  
  13.  
  14. 復制代碼 

原理是利用Set中不能出現重復元素的特性 

  1. uniqueArray([1,1,1,1,1])//[1]  
  2. 復制代碼 

7. 對象轉化為FormData對象 

  1. /**  
  2.  * 對象轉化為formdata  
  3.  * @param {Object} object  
  4.  */  
  5.  export function getFormData(object) {  
  6.     const formData = new FormData()  
  7.     Object.keys(object).forEach(key => {  
  8.         const value = object[key]  
  9.         if (Array.isArray(value)) {  
  10.             value.forEach((subValue, i) =>  
  11.                 formData.append(key + `[${i}]`, subValue)  
  12.             )  
  13.         } else {  
  14.             formData.append(key, object[key])  
  15.         }  
  16.     })  
  17.     return formData  
  18.  
  19. 復制代碼 

使用場景:上傳文件時我們要新建一個FormData對象,然后有多少個參數就append多少次,使用該函數可以簡化邏輯

使用方式: 

  1. let req={  
  2.     file:xxx, 
  3.     userId:1,  
  4.     phone:'15198763636',  
  5.     //...  
  6.  
  7. fetch(getFormData(req))  
  8. 復制代碼 

8.保留到小數點以后n位 

  1. // 保留小數點以后幾位,默認2位  
  2. export function cutNumber(number, no = 2) {  
  3.     if (typeof number != 'number') {  
  4.         number = Number(number)  
  5.     }  
  6.     return Number(number.toFixed(no))  
  7.  
  8. 復制代碼 

使用場景:JS的浮點數超長,有時候頁面顯示時需要保留2位小數。

 

責任編輯:龐桂玉 來源: 前端教程
相關推薦

2021-09-03 10:08:53

JavaScript開發 代碼

2022-07-25 15:21:50

Java編程語言開發

2024-08-02 17:19:36

2025-01-08 08:53:05

2024-12-30 07:47:15

Python科學計算

2013-09-05 13:49:18

WordPress速度

2016-09-19 15:15:01

shellbash腳本

2025-05-09 09:26:12

2025-03-20 00:00:05

2024-01-26 06:25:09

PyCharm插件代碼

2021-09-27 15:04:08

數字化轉型CIOIT

2013-06-07 10:52:18

移動應用移動產品設計

2023-05-03 21:42:02

Github開源項目

2022-06-13 09:00:33

React 項目前端

2025-03-26 05:00:00

前端開發者DOM

2021-06-29 10:03:45

數據科學機器學習算法

2023-11-13 10:11:49

開源前端

2022-03-18 21:27:36

Python無代碼

2023-05-22 15:53:06

JavaScrip代碼素材

2011-07-11 10:16:07

JavaScript
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 九九热久久免费视频 | 国产精品久久久久久久久久久新郎 | 毛片免费观看视频 | 亚洲成av人片在线观看无码 | 欧美在线一区二区三区 | 日韩久久精品视频 | 精品成人在线观看 | 日韩成人在线视频 | 黄色亚洲 | 一区二区三区免费 | 欧美a级成人淫片免费看 | 午夜激情视频在线 | 久久精品国产一区二区电影 | 亚洲av一级毛片 | 蜜桃视频麻豆 | 国产一区二区a | 日本在线视频中文字幕 | 国产亚洲欧美在线 | 在线婷婷| 91亚洲欧美 | 国产精品夜夜春夜夜爽久久电影 | 日韩精品中文字幕一区二区三区 | 蜜桃免费一区二区三区 | 天天综合网天天综合色 | 高清久久久 | 久久久国产一区二区三区 | 岛国在线免费观看 | 99re国产精品 | 国产91亚洲精品 | 国产精品午夜电影 | 韩国av一区二区 | 成人免费视频 | 久久久久久国产精品久久 | 成人午夜视频在线观看 | 青青草久久 | 国产成在线观看免费视频 | 欧美一级淫片免费视频黄 | 在线综合视频 | 欧美久久久网站 | av天天看 | 一级大黄色片 |