使用JavaScript時的最佳實踐是什麼?


在本教程中,我們將學習使用 JavaScript 時的最佳實踐。

幾乎每個網站都使用 JavaScript 來提高使用者互動性。多年來,ECMAScript 釋出了不同版本的 JavaScript。每個版本都增強了功能並增加了新特性,因此瞭解使用 JavaScript 時的最佳實踐非常重要。

使用 JavaScript 時應遵循以下最佳實踐:

有意義的變數和函式名

變數和函式的名稱應該與其用途具有意義。在 JavaScript 中,我們使用變數來儲存一些資料,函式用於重複執行一組任務。大多數初學者使用諸如“x”、“abc”、“a1”之類的變數名;透過閱讀變數名,我們無法理解變數儲存的內容。其他人也很難理解你的程式碼。類似地,如果你將使用者的年齡儲存在名為“age”而不是“a”的變數中,則更容易理解程式碼。因此,始終為變數和函式使用有意義的名稱。

// Bad variable name
let a = 20
let x1 = 'Tutorialspoint'

// Good variable name
let age = 20
let name = 'Tutorialspoint'

使用註釋

註釋是編譯器不執行的程式碼行;它用於描述程式碼或一組程式碼的功能。如果多人協作完成一個專案,以及為了將來參考,註釋非常有用。在需要時始終使用註釋,並且不要在每一行程式碼上編寫不必要的註釋。在 JavaScript 中,我們使用“//”來編寫註釋。

// It is the comment

使用區域性變數而不是全域性變數

在 JavaScript 中,訪問區域性變數比訪問全域性變數更快,因此建議儘可能多地使用區域性變數。如果所有變數都在區域性範圍內指定,則訪問變數所需的時間會減少。此外,區域性變數在函式呼叫完成後會被銷燬,而全域性變數會保留其記憶體中的值,這可能會導致記憶體問題。使用“let”和“const”宣告區域性變數,而不是使用“var”宣告全域性變數。

// Don't use global variables
var language = 'JavaScript'

// Use local variables
const name = 'Tutorialspoint'
let age = 18

在比較中使用“===”而不是“==”

在 JavaScript 中,“==”運算子檢查值是否相同,“===”運算子匹配值及其型別。因此,“==”運算子將返回 1 和“1”之間比較的真值,兩者是不同型別的值。但是,在這種情況下,“===”運算子將返回假,因為它還會檢查變數的型別。

// Don't use '==' operator
if(value1 == value2){ ... }

// Use '===' operator
if(value1 === value2){ ... }

使用預設語句結束 switch 語句

在 JavaScript 中,switch 語句使用多個 case 子句檢查多個條件。如果任何 case 與表示式匹配,則將執行該 case 子句下方的程式碼。當表示式與任何 case 子句不匹配時,將執行 default 語句或子句。可以使用沒有 default 的 switch,但始終建議使用 default 語句來管理或處理任何不希望的或未知的條件。

switch (expression) {
   case value:
   
   // block of code under this case
   break;
   ...
   default:
   
   // block of code under this default
   break;
}

使用展開運算子 (...)

在 JavaScript 中,展開運算子用於複製或複製陣列或物件。由於陣列和物件是引用型別,因此我們不能使用等於運算子分配整個陣列或物件,也不能複製陣列。如果我們不使用展開運算子,則需要使用 for 迴圈或 while 迴圈。展開運算子減少了程式碼量,並使其易於理解。

let arr1 = [1, 2, 3, 4, 5]

// using the spread operator
let arr2 = [...arr1]

限制 DOM 訪問

在 JavaScript 中,過多地訪問 DOM 元素會導致巨大的效能問題。此外,不要多次使用 document.getElementById() 或 document.getElementByTagName() 方法,而應一次呼叫這些方法並將返回型別儲存在變數中並使用它們。建立輸出字串並在程式碼末尾修改元素的 innerHTML。

let element = document.getElementById('element_id')
element.innerHTML = 'JavaScript'

不要使用 eval()

JavaScript 中的 eval() 方法編譯並執行程式碼語句字串。它是一個非常強大的工具,但它也會影響我們程式碼的安全性和效能。建議除非必要,否則不要使用 eval()。

減少迴圈迭代

迴圈迭代需要時間才能完成,並且每次迭代還需要檢查某些條件。因此,與較長的迴圈相比,較短的迴圈迭代始終是有益的。此外,在迴圈開始之前宣告迴圈變數以節省更多效能。

使用非同步程式設計

非同步程式設計使 JavaScript 更有效率。每當使用者需要執行 HTTP 請求或其他非同步操作時,始終在 JavaScript 中使用 async await。

將 Javascript 程式碼放在底部或單獨的檔案中

要使用 JavaScript 程式碼,必須載入整個 DOM,因此將 JavaScript 程式碼放在頁面底部有助於在沒有任何中斷的情況下執行 JavaScript 程式碼。此外,如果多個頁面需要相同的 JavaScript 程式碼或 JavaScript 程式碼變得很大,則最好將 JavaScript 程式碼放在單獨的檔案中。

更新於:2022年11月15日

瀏覽量:107

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告