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

10個自己遵循的 JavaScript 技巧和實踐,趕緊收藏吧!

開發 前端
當我需要處理大的數字時,這是最常用的運算符之一。當在數字中使用分隔符(只有一個_)時,它看起來比沒有分隔的數字要好。

[[411949]]

廢話不多說,直接安排上。

1.使用數字分隔符

當我需要處理大的數字時,這是最常用的運算符之一。當在數字中使用分隔符(只有一個_)時,它看起來比沒有分隔的數字要好。例如:

  1. let number = 98234567 

可以這么寫

  1. let number = 98_234_567 

而且它也適用于任何其他進制數。

  1. const binary = 0b1000_0101; 
  2. const hex = 0x12_34_56_78; 

幾個注意事項:

在前導0后不能使用。

  1. let num= 0_12 

不允許出現在數字的末尾。

  1. let num= 500_ 

2.始終使用分號

使用分號終止行是一種很好的做法。如果忘記了,不會被警告,因為在大多數情況下,它將被JavaScript解析器插入,但依賴于自動分號插入(ASI)是不鼓勵的。

谷歌,Airbnb和jQuery的JS風格指南,也推薦使用分號終止行。

3.不要忘記var

當你第一次為一個變量賦值時,一定要確保你沒有對一個未聲明的變量進行賦值。

對未聲明的變量的賦值會自動導致一個全局變量的創建。避免全局變量?

全局變量很容易被其他腳本覆蓋。例如,如果應用程序的兩個獨立部分定義了具有相同名稱但用途不同的全局變量,那么可能會導致不可預測的錯誤,調試此類問題將是一個可怕的經歷。

通常函數中的變量應該是局部的,這樣當你執行完函數時它們就會釋放。

4. Delete vs Splice

使用splice而不是使用delete從一個數組中刪除一個項。使用delete會刪除對象的屬性,但不會重置索引數組或更新其長度。

Delete

  1. > myArray = ['a''b''c''d'
  2.   ["a""b""c""d"
  3. delete myArray[0] 
  4.   true 
  5. > myArray[0] 
  6.   undefined 

請注意,事實上它并沒有被設置為undefined的值,而是將該屬性從數組中移除,使其看起來undefined。這個大家可以在控制把 myArray 打印就出看就知道 了。

Splice

Splice() 實際上刪除了元素,重置了索引,并改變了數組的長度。

  1. > myArray = ['a''b''c''d'
  2.   ["a""b""c""d"
  3. > myArray.splice(0, 2) 
  4.   ["a""b"
  5. > myArray 
  6.   ["c""d"

delete方法應該用于刪除對象屬性。

5. map vs for loop

使用map()函數遍歷數組的項

  1. var squares = [1,2,3,4].map(function (val) {   
  2.     return val * val;   
  3. });  
  4.  
  5. //  [1, 4, 9, 16] 

**Immutability ** - 原來的數組將不受影響。在其他地方仍然需要原始數組的情況下,這是有好處的。for 循環當然也可以實現,但是這需要更多的代碼,并且需要更新我們的新數組作為循環操作的一部分。另一方面,map()可以保持這種清潔,因為你只需要在一個作用哉內工作,仍然可以保持不變性。

Cleaner code - 當做相同的事情時,map幾乎總是可以用比for更少的代碼來寫。它有時可以清楚地寫在一行上,而for至少需要兩行或一般需要三行,并包括括號。另外,作用域隔離和減少你所需要的變量數量以及減少的大小都使代碼客觀上更干凈。

6. 四舍五入的數字

toFixed() 方法使用定點表示法來格式化一個數值。

  1. var pi =3.1415; 
  2. pi = pi.toFixed(2);  // pi will be equal to 3.14 

注意:toFixed()返回的是字符串而不是數字。

7.使用 console.table

  1. table=[{state: "Texas"},{state: "New York"},{state: "Chicago"}] 
  2. console.table(table

可以使用console.table來以表格的形式顯示對象。

8. 避免在循環中使用 try-catch

每次執行catch子句時,try-catch結構都會在當前作用域內創建一個新的變量,其中捕獲的異常對象被分配給一個變量。

  1. var object = ['foo''bar'], i;   
  2. for (i = 0, len = object.length; i <len; i++) {   
  3.     try {   
  4.         // do something that throws an exception  
  5.     }   
  6.     catch (e) {    
  7.         // handle exception   
  8.     }  

第二種寫法

  1. var object = ['foo''bar'], i;   
  2. try {  
  3.     for (i = 0, len = object.length; i <len; i++) {   
  4.         // do something that throws an exception  
  5.     }  
  6. }  
  7. catch (e) {    
  8.     // handle exception   
  9. }  

當一個錯誤發生時,第一個讓你繼續循環,而第二個則退出循環。如果你的代碼拋出的異常沒有嚴重到足以停止整個程序,那么第一個適合。

9. 多個條件檢查

對于多值匹配,我們可以把所有的值放在一個數組中,并使用indexOf()或includes()方法。

  1. if (value === 1 || value === 'one' || value === 2 || value === 'two') {  
  2.  
  3. }  

indexOf():

  1. if ([1, 'one', 2, 'two'].indexOf(value) >= 0) {  
  2.  

includes():

  1. if ([1, 'one', 2, 'two'].includes(value)) {  
  2.  

10. 雙非位運算符(~~)

雙非位運算符是可以看作是Math.floor()方法的替代品。

  1. const floor = Math.floor(6.8); // 6  

也可以這樣寫:

  1. const floor = ~~6.8; // 6 

雙非位操作符方法只適用于32位整數。因此,對于任何比這更高的數字,建議使用Math.floor()

總結

最后的建議 - 不要使用隨意的編碼風格。要有一個執行標準。

~完,我是小智,整理完,準備來盤 LoL ,記得點贊關注,發財致富哦~

作者:Apoorv Tyagi 譯者:前端小智 來源:dev

 

原文:https://dev.to/apoorvtyagi/javacript-tips-and-best-practices-48ma

 

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

2020-10-26 08:06:59

網絡技巧CSS

2020-05-28 08:59:40

Python機器學習開發

2023-11-27 13:53:00

Java數據轉換

2022-11-28 23:48:06

JavaScript編程語言技巧

2013-07-22 10:01:03

JavascriptWeb

2023-03-30 08:00:00

ReactJavaScript前端

2013-12-31 09:26:31

JavaScript技巧

2020-04-20 10:10:52

Python數據可視化數據科學

2021-03-15 08:13:19

JavaScript開發代碼

2012-03-27 09:20:57

Java

2023-09-13 16:55:42

JavaScript數組

2020-12-31 07:56:02

JavaScript 字符串技巧

2022-05-30 09:44:11

TypeScriptJavaScript技巧

2021-01-19 07:51:12

JavaScriptJavac++

2011-08-29 09:52:55

JavaScript

2019-12-16 17:59:22

軟件微服務技術

2018-09-28 14:43:27

RMAN備份實踐

2024-06-19 10:01:50

2015-07-15 13:34:37

JS開發習慣

2019-12-17 08:07:58

微服務架構
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩视频在线免费观看 | 国产精品毛片久久久久久久 | 久久视频免费看 | 夜久久 | 亚洲不卡 | 一级欧美一级日韩片 | 欧美精品乱码99久久影院 | 欧美日韩电影在线 | 午夜影院免费体验区 | 久久综合九色综合欧美狠狠 | 国产精品久久久久久久久久妇女 | 国产午夜在线观看 | 欧美黄色小视频 | 蜜桃久久 | av在线播放网站 | 欧美日韩一区二区三区四区五区 | 国产精品综合一区二区 | 黄色一级大片视频 | 福利视频大全 | 成人一级视频在线观看 | 国产精品二区三区 | 一区二区精品 | 涩涩视频在线观看免费 | 国产精品久久久久一区二区三区 | 亚洲一区 | 九九99精品 | 国产一区二区三区四区在线观看 | 欧美国产日韩在线观看 | 欧美成人a∨高清免费观看 欧美日韩中 | 色婷婷激情 | 日本不卡一区二区三区在线观看 | 天天干夜夜操视频 | 成年人免费看的视频 | 欧美一区二区三区免费在线观看 | 久久一级 | 国产真实乱全部视频 | 国产一区二 | 国产欧美在线观看 | 中文字幕在线电影观看 | 国产精品视频一区二区三区四蜜臂 | 国产精品99久久久久久久久久久久 |