99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

Javascript 代碼結(jié)構(gòu)

2023-02-17 10:37 更新

我們將要學(xué)習(xí)的第一個內(nèi)容就是構(gòu)建代碼塊。

語句

語句是執(zhí)行行為(action)的語法結(jié)構(gòu)和命令。

我們已經(jīng)見過了 ?alert('Hello, world!')? 這樣可以用來顯示消息的語句。

我們可以在代碼中編寫任意數(shù)量的語句。語句之間可以使用分號進(jìn)行分割。

例如,我們將 “Hello World” 這條信息一分為二:

alert('Hello'); alert('World');

通常,每條語句獨(dú)占一行,以提高代碼的可讀性:

alert('Hello');
alert('World');

分號

當(dāng)存在換行符(line break)時,在大多數(shù)情況下可以省略分號。

下面的代碼也是可以運(yùn)行的:

alert('Hello')
alert('World')

在這,JavaScript 將換行符理解成“隱式”的分號。這也被稱為 自動分號插入。

在大多數(shù)情況下,換行意味著一個分號。但是“大多數(shù)情況”并不意味著“總是”!

有很多換行并不是分號的例子,例如:

alert(3 +
1
+ 2);

代碼輸出 ?6?,因為 JavaScript 并沒有在這里插入分號。顯而易見的是,如果一行以加號 ?"+"? 結(jié)尾,那么這是一個“不完整的表達(dá)式”,不需要分號。所以,這個例子得到了預(yù)期的結(jié)果。

但存在 JavaScript 無法確定是否真的需要自動插入分號的情況。

這種情況下發(fā)生的錯誤是很難被找到和解決的。

一個錯誤的例子
如果你好奇地想知道一個這種錯誤的具體例子,那你可以看看下面這段代碼:
alert("Hello");

[1, 2].forEach(alert);

你不需要考慮方括號 [] 和 forEach 的含義,現(xiàn)在它們并不重要,之后我們會學(xué)習(xí)它們。讓我們先記住這段代碼的運(yùn)行結(jié)果:先顯示 Hello,然后顯示 1,然后 2。

現(xiàn)在,讓我們刪除 alert 語句后的分號:

alert("Hello")

[1, 2].forEach(alert);

與上面的代碼相比只有一個字符的區(qū)別:第一行末尾的分號不見了。

如果我們運(yùn)行這段代碼,只有第一個 ?Hello ?會被顯示出來(并且有一個報錯,你可能需要打開控制臺才能看到它)。并且不會再有數(shù)字被顯示出來。

這是因為,JavaScript 引擎并沒有假設(shè)在方括號 ?[...]? 前有一個分號。因此,最后一個示例中的代碼被視為了單個語句。

對于引擎來說,它是這樣的:

alert("Hello")[1, 2].forEach(alert);

看起來很奇怪,對吧?在這種情況下,這樣將兩行代碼合并到一起是不對的。我們需要在 alert 后面加一個分號,代碼才能正常運(yùn)行。

這也可能發(fā)生在其他情況下。

即使語句被換行符分隔了,我們依然建議在它們之間加分號。這個規(guī)則被社區(qū)廣泛采用。我們再次強(qiáng)調(diào)一下 —— 大部分時候可以省略分號,但是最好不要省略分號,尤其對新手來說。

注釋

隨著時間推移,程序變得越來越復(fù)雜。為代碼添加 注釋 來描述它做了什么和為什么要這樣做,變得非常有必要了。

你可以在腳本的任何地方添加注釋,它們并不會影響代碼的執(zhí)行,因為引擎會直接忽略它們。

單行注釋以兩個正斜杠字符 // 開始。

這一行的剩余部分是注釋。它可能獨(dú)占一行或者跟隨在一條語句的后面。

就像這樣:

// 這行注釋獨(dú)占一行
alert('Hello');

alert('World'); // 這行注釋跟隨在語句后面

多行注釋以一個正斜杠和星號開始 “/*” 并以一個星號和正斜杠結(jié)束 “*/”

就像這樣:

/* 兩個消息的例子。
這是一個多行注釋。
*/
alert('Hello');
alert('World');

注釋的內(nèi)容被忽略了,所以如果我們在 /* … */ 中放入代碼,并不會執(zhí)行。

有時候,可以很方便地臨時禁用代碼:

/* 注釋代碼
alert('Hello');
*/
alert('World');
使用快捷鍵!
在大多數(shù)的編輯器中,一行代碼可以使用 ?Ctrl+/? 快捷鍵進(jìn)行單行注釋,諸如 ?Ctrl+Shift+/? 的快捷鍵可以進(jìn)行多行注釋(選擇代碼,然后按下快捷鍵)。對于 Mac 電腦,應(yīng)使用 ?Cmd ?而不是 ?Ctrl?,使用 ?Option ?而不是 ?Shift?。
不支持注釋嵌套!
不要在 ?/*...*/? 內(nèi)嵌套另一個 ?/*...*/?。
下面這段代碼報錯而無法執(zhí)行:
/*
  /* 嵌套注釋 ?!? */
*/
alert( 'World' );

對你的代碼進(jìn)行注釋,這還有什么可猶豫的!

注釋會增加代碼總量,但這一點(diǎn)也不是什么問題。有很多工具可以幫你在把代碼部署到服務(wù)器之前縮減代碼。這些工具會移除注釋,這樣注釋就不會出現(xiàn)在發(fā)布的腳本中。所以,注釋對我們的生產(chǎn)沒有任何負(fù)面影響。

在后面的教程中,會有一章 代碼質(zhì)量 的內(nèi)容解釋如何更好地寫注釋。


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號