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

周末學會了 10個超級實用 Javascript 技巧!

開發 前端
眾所周知,JavaScript 一直在快速變化。在新的 ES2020 中,有很多很棒的特性,我們大都已經迫不及待嘗試了。老實說,有時我們可以用不同角度來編寫代碼,同樣也能達到相同的效果,而且有的還會更簡短,更清晰。

 眾所周知,JavaScript 一直在快速變化。在新的 ES2020 中,有很多很棒的特性,我們大都已經迫不及待嘗試了。老實說,有時我們可以用不同角度來編寫代碼,同樣也能達到相同的效果,而且有的還會更簡短,更清晰。

[[332030]]

下面是列出一些 JavaScript 有用的技巧,相信總有一天會對你有所幫助。

1.方法參數驗證

ES6 中可以為函數的參數設置默認值,有了這個,我們可以實現一個驗證方法參數不能為空的巧妙技巧。

  1. const isRequired = () => {  
  2.   throw new Error('param is required'
  3.  
  4. const print = (num = isRequired()) => {  
  5.   console.log(`printing ${num}`)  
  6.  
  7. print(2) //printing 2 
  8. print() // error 
  9. print(null) //printing null 

2.格式化JSON代碼

我們都非常熟悉JSON.stringify,但比較少知道的是它還可以進行格式化的輸出。

stringify 方法有三個參數:value,replacer和space。其中,后兩個是可選參數,這也是我們很少知道它的原因。要縮進JSON,必須使用space參數。

  1. console.log(JSON.stringify({name:"John",Age:23},null,'\t')); 
  2. >>>  
  3.  "name""John"
  4.  "Age": 23 

3.從數組中獲取惟一的值

要從數組中獲得唯一的值,需要使用filter方法過濾掉重復的值。但是有了新的Set原生對象,事情就變得非常簡單了。

  1. let uniqueArray = [...new Set([1, 2, 3, 3,3,"school","school",'ball',false,false,true,true])]; 
  2.  
  3. >>> [1, 2, 3, "school""ball"falsetrue

4.從數組中刪除虛值

在某些情況下, 我們想從數組中刪除虛值。虛值是 JavaScript 中的值為FALSE的值。JavaScript 中只有六個虛值,它們是:

  • undefined
  • null
  • NaN
  • 0
  • '' (空字符)
  • false

過濾這些虛值的最簡單方法是使用下面的函數:

  1. myArray.filter(Boolean) 

如果要對數組進行一些修改,然后過濾新數組,則可以嘗試這樣的操作。請記住,原始myArray保持不變。

  1. myArray 
  2.     .map(item => { 
  3.         // Do your changes and return the new item 
  4.     }) 
  5.     .filter(Boolean); 

5.合并多個對象

實際需求中,我們經常需要合并多個對照,快速的做法可以像下面這么做:

  1. const user = {  
  2.  name'John Ludwig',  
  3.  gender: 'Male'  
  4.  
  5. const college = {  
  6.  primary'Mani Primary School',  
  7.  secondary: 'Lass Secondary School'  
  8. const skills = {  
  9.  programming: 'Extreme',  
  10.  swimming: 'Average',  
  11.  sleeping: 'Pro'  
  12.  
  13. const summary = {...user, ...college, ...skills} 

6.排序數字數組

JavaScript 數組帶有內置的sort方法。默認情況下,此sort方法將數組元素轉換為字符串,并對其進行字典排序。但這在對數字數組進行排序時,會有問題,解決方法就是手寫一個排序方法。

  1. [0,10,4,9,123,54,1].sort((a,b) => a-b) 
  2.  
  3. >>> [0, 1, 4, 9, 10, 54, 123] 

7.禁用鼠標右鍵

有些情況,我們想在網頁上禁用鼠標的右鍵,可以使用下面的方式來禁用:

  1. <body oncontextmenu="return false"
  2.   <div></div> 
  3. </body> 

這個簡單的代碼就可以禁用右鍵單擊。

8.在解構中使用別名

解構賦值是一個JavaScript表達式,它可以將數組中的值或對象中的屬性解構縮不同的變量中。不必使用現有的對象變量,我們可以根據自己的偏好重命名它們。

  1. const object = { number: 10 } 
  2.  
  3. const { number } = object 
  4.  
  5. // 使用別名 
  6. const { number: otherNumber } = object 
  7.  
  8. console.log(otherNumber) //10 

9.獲取數組中的最后一項

如果要獲取數組的末尾元素,可以使用slice方法。

  1. let array = [0, 1, 2, 3, 4, 5, 6, 7]  
  2. console.log(array.slice(-1)) 
  3. >>>[7] 
  4.  
  5. console.log(array.slice(-2)) 
  6. >>>[6, 7] 
  7.  
  8. console.log(array.slice(-3)) 
  9. >>>[5, 6, 7] 

10. 等待 Promises

在某些情況下,我們需要等待多個Promise結束,這里,我們使用Promise.all。

  1. const PromiseArray = [ 
  2.     Promise.resolve(100), 
  3.     Promise.reject(null), 
  4.     Promise.resolve("Data release"), 
  5.     Promise.reject(new Error('Something went wrong'))]; 
  6. Promise.all(PromiseArray) 
  7.   .then(data => console.log('all resolved! here are the resolve values:', data)) 
  8.   .catch(err => console.log('got rejected! reason:', err)) 

關于Promise.all需要注意的一件事是,當一個Promise拒絕時,該方法將引發錯誤。這意味著我們的代碼將不會等到所有的Promise都完成。

如果想要等到所有Promise都完成后,無論它們被拒絕還是成功,可以使用Promise.allSettled。此方法在ES2020的最終版本中。

  1. const PromiseArray = [ 
  2.     Promise.resolve(100), 
  3.     Promise.reject(null), 
  4.     Promise.resolve("Data release"), 
  5.     Promise.reject(new Error('Something went wrong'))]; 
  6. Promise.allSettled(PromiseArray).then(res =>{ 
  7. console.log(res); 
  8. }).catch(err => console.log(err)); 
  9. //[ 
  10. //{status: "fulfilled", value: 100}, 
  11. //{status: "rejected", reason: null}, 
  12. //{status: "fulfilled", value: "Data release"}, 
  13. //{status: "rejected", reason: Error: Something went wrong ...} 
  14. //] 

作者:Mahdhi Rezvi 譯者:前端小智 來源:medium

原文:https://blog.bitsrc.io/10-super-useful-tricks-for-javascript-developers-f1b76691199b

本文轉載自微信公眾號「 大遷世界」,可以通過以下二維碼關注。轉載本文請聯系 大遷世界公眾號。

 

責任編輯:武曉燕 來源: 大遷世界
相關推薦

2021-03-15 08:13:19

JavaScript開發代碼

2023-08-22 10:25:19

CSS動畫網頁

2014-10-13 11:05:55

程序員實用技術

2024-02-26 08:20:00

CSS開發

2023-12-19 13:31:00

CSS前端技巧

2023-08-11 17:39:43

JavaScriptWeb 應用程序

2024-08-21 14:55:02

2023-11-26 17:54:07

JavaScript開發

2023-06-28 00:02:40

2023-08-18 15:12:00

JavaScript開發

2023-07-18 07:56:31

工具reduce業務

2016-05-10 10:16:13

JavaScript技巧

2023-05-04 23:54:02

JavaScrip代碼技巧

2017-10-30 17:25:11

javascript

2011-08-11 10:38:50

windows7技巧Windows7技巧

2024-09-06 15:48:13

2019-06-14 14:15:07

Javascript調試技巧代碼

2024-11-28 10:09:06

2023-06-26 00:01:11

2013-09-26 10:39:35

Windows 7優化技巧
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人高清视频在线观看 | 日韩欧美一区二区三区免费观看 | 免费一区二区三区 | 中文字幕一区在线 | 国产精品久久久久久久岛一牛影视 | 久久精品91久久久久久再现 | 日韩www| 啪啪综合网 | 国产三级国产精品 | 久久久久久久久国产成人免费 | 人人九九精 | 欧美一区二区三区视频在线 | 国产一级特黄真人毛片 | 久久夜视频 | 暖暖日本在线视频 | 99亚洲视频 | 五十女人一级毛片 | 91在线观看| 不卡一区 | 在线不卡一区 | 国产一区二区在线看 | 欧美成年黄网站色视频 | 99久久99| 美女福利视频一区 | 美女视频一区二区三区 | 日本黄色免费片 | 精品久久久久久 | 黄色片视频 | 国产精品毛片无码 | 羞羞视频在线观免费观看 | h在线免费观看 | 超碰97干 | 羞羞在线视频 | 日韩av在线免费 | 亚洲一二三在线观看 | www.色综合 | 亚洲人a | 91精品综合久久久久久五月天 | 久久久激情视频 | 毛片免费视频 | 自拍偷拍亚洲一区 |