JavaScript 代碼規(guī)范

2024-12-11 11:32 更新

所有的 JavaScript 項(xiàng)目適用同一種規(guī)范。


JavaScript 代碼規(guī)范

代碼規(guī)范通常包括以下幾個(gè)方面:

  • 變量和函數(shù)的命名規(guī)則
  • 空格,縮進(jìn),注釋的使用規(guī)則。
  • 其他常用規(guī)范……

規(guī)范的代碼可以更易于閱讀與維護(hù)。

代碼規(guī)范一般在開發(fā)前規(guī)定,可以跟你的團(tuán)隊(duì)成員來協(xié)商設(shè)置。


變量名

變量名推薦使用駝峰法來命名(camelCase):

firstName = "John";
lastName = "Doe";

price = 19.90;
tax = 0.20;

fullPrice = price + (price * tax);

在JavaScript中定義變量名時(shí),還應(yīng)該注意以下事項(xiàng):

  • 變量名應(yīng)該區(qū)分大小寫,允許包含字母、數(shù)字、美元符號(hào)($)和下劃線,但第一個(gè)字符不允許是數(shù)字,不允許包含空格和其他標(biāo)點(diǎn)符號(hào);
  • 變量命名長(zhǎng)度應(yīng)該盡可能的短,并抓住要點(diǎn),盡量在變量名中體現(xiàn)出值的類型;
  • 變量名的命名應(yīng)該是有意義的;
  • 變量名不能為JavaScript中的關(guān)鍵詞、保留字全名;
  • 變量名命名方法常見的有匈牙利命名法、駝峰命名法和帕斯卡命名法。

空格與運(yùn)算符

通常運(yùn)算符 ( = + - * / ) 前后需要添加空格:

實(shí)例:

var x = y + z;
var values = ["Volvo", "Saab", "Fiat"];

代碼縮進(jìn)

通常使用 4 個(gè)空格符號(hào)來縮進(jìn)代碼塊:

函數(shù):

function toCelsius(fahrenheit) {
    return (5 / 9) * (fahrenheit - 32);
}

注意:不推薦使用 TAB 鍵來縮進(jìn),因?yàn)椴煌庉嬈?TAB 鍵的解析不一樣。


語(yǔ)句規(guī)則

簡(jiǎn)單語(yǔ)句的通用規(guī)則:

  • 一條語(yǔ)句通常以分號(hào)作為結(jié)束符。

實(shí)例:

var values = ["Volvo", "Saab", "Fiat"];

var person = {
    firstName: "John",
    lastName: "Doe",
    age: 50,
    eyeColor: "blue"
};

復(fù)雜語(yǔ)句的通用規(guī)則:

  • 將左花括號(hào)放在第一行的結(jié)尾。
  • 左花括號(hào)前添加一空格。
  • 將右花括號(hào)獨(dú)立放在一行。
  • 不要忘記以分號(hào)結(jié)束一個(gè)復(fù)雜的聲明。

 所有聲明語(yǔ)句都應(yīng)當(dāng)以分號(hào)結(jié)尾。最后一條聲明語(yǔ)句后面的分號(hào)是可選的,但是,如果省略這個(gè)分號(hào),你的代碼可能更易出錯(cuò)。

函數(shù):

function toCelsius(fahrenheit) {
    return (5 / 9) * (fahrenheit - 32);
}

循環(huán):

for (i = 0; i < 5; i++) {
    x += i;
}

條件語(yǔ)句:

if (time < 20) {
    greeting = "Good day";
} else {
    greeting = "Good evening";
}

對(duì)象規(guī)則

對(duì)象定義的規(guī)則:

  • 將左花括號(hào)與類名放在同一行。
  • 冒號(hào)與屬性值間有個(gè)空格。
  • 字符串使用雙引號(hào),數(shù)字不需要。
  • 最后一個(gè)屬性-值對(duì)后面不要添加逗號(hào)。
  • 將右花括號(hào)獨(dú)立放在一行,并以分號(hào)作為結(jié)束符號(hào)。

實(shí)例:

var person = {
    firstName: "John",
    lastName: "Doe",
    age: 50,
    eyeColor: "blue"
};

短的對(duì)象代碼可以直接寫成一行:

實(shí)例:

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

每行代碼字符小于 80

為了便于閱讀每行字符建議小于數(shù) 80 個(gè)。

如果一個(gè) JavaScript 語(yǔ)句超過了 80 個(gè)字符,建議在 運(yùn)算符或者逗號(hào)后換行。

實(shí)例:

實(shí)例:

document.getElementById("demo").innerHTML =
    "Hello W3Cschool.";

嘗試一下 ?

注意:在函數(shù)聲明、函數(shù)表達(dá)式、函數(shù)調(diào)用、對(duì)象創(chuàng)建、數(shù)組創(chuàng)建、for 語(yǔ)句等場(chǎng)景中,不允許在 , 或 前換行。


命名規(guī)則

一般很多代碼語(yǔ)言的命名規(guī)則都是類似的,例如:

  • 變量和函數(shù)為駝峰法( camelCase
  • 全局變量為大寫 (UPPERCASE )
  • 常量 (如 PI) 為大寫 (UPPERCASE )

變量命名你是否使用這幾種規(guī)則: hyp-hens, camelCase, 或under_scores ?

HTML 和 CSS 的橫杠(-)字符:

HTML5 屬性可以以 data- (如:data-quantity, data-price) 作為前綴。

CSS 使用 - 來連接屬性名 (font-size)。


注意:- 通常在 JavaScript 中被認(rèn)為是減法,所以不允許使用。


下劃線:

很多程序員比較喜歡使用下劃線(如:date_of_birth), 特別是在 SQL 數(shù)據(jù)庫(kù)中。

PHP 語(yǔ)言通常都使用下劃線。

帕斯卡拼寫法(PascalCase):

帕斯卡拼寫法(PascalCase) 在 C 語(yǔ)言中語(yǔ)言較多。

駝峰法:

JavaScript 中通常推薦使用駝峰法,jQuery 及其他 JavaScript 庫(kù)都使用駝峰法。


注意:變量名不要以 $ 作為開始標(biāo)記,會(huì)與很多 JavaScript 庫(kù)沖突。



HTML 載入外部 JavaScript 文件

使用簡(jiǎn)潔的格式載入 JavaScript 文件 ( type 屬性不是必須的):

<script src="myscript.js">

使用 JavaScript 訪問 HTML 元素

一個(gè)糟糕的 HTML 格式可能會(huì)導(dǎo)致 JavaScript 執(zhí)行錯(cuò)誤。

以下兩個(gè) JavaScript 語(yǔ)句會(huì)輸出不同結(jié)果:

實(shí)例

var obj =getElementById("Demo")
var obj = getElementById("demo")

嘗試一下 ?

HTML 與 JavaScript 盡量使用相同的命名規(guī)則。

訪問 HTML(5) 代碼規(guī)范。


文件擴(kuò)展名

HTML 文件后綴可以是 .html (或r .htm)。

CSS 文件后綴是 .css 。

JavaScript 文件后綴是 .js


使用小寫文件名

大多 Web 服務(wù)器 (Apache, Unix) 對(duì)大小寫敏感: london.jpg 不能通過 London.jpg 訪問。

其他 Web 服務(wù)器 (Microsoft, IIS) 對(duì)大小寫不敏感: london.jpg 可以通過 London.jpg 或 london.jpg 訪問。

你必須保持統(tǒng)一的風(fēng)格,我們建議統(tǒng)一使用小寫的文件名。

學(xué)完本教程之后,W3Cschool推薦您進(jìn)行實(shí)戰(zhàn)練習(xí)來鞏固自己的知識(shí):javascript實(shí)戰(zhàn)


JavaScript 格式化整理工具

在線JavaScript 格式化整理工具

 


相關(guān)閱讀

前端編碼規(guī)范:JavaScript 規(guī)范


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)