簡體   English   中英

為什么在我的所有源js文件中都省略了分號?

[英]Why are semicolons omitted in all my source js files?

我正在Aptana中啟動一個Web項目,並下載了bootstrap(v 3.3.7)和jQuery(壓縮)。 當我將文件導入js文件夾時,所有文件都帶有一個警告標志,並且我只能看到的警告是到處都是缺少分號。 我想我已經讀過js不需要分號(盡管使用它們是最佳實踐),但是我在上課之前已經下載了這些文件,並且沒有收到此警告。

我做錯什么了嗎? 這些文件可以使用嗎?

這些文件可以使用嗎?

是的,JavaScript解析器可以使用語言規范中內置的稱為自動分號插入的錯誤糾正程序*來糾正大多數(但不是全部)位置中缺少的分號。 因此,確實允許將它們留在ASI為您解決的地方。 但是,如果要這樣做,了解ASI的規則很重要。 (在任何情況下,了解;的規則都很重要。)Bootstrap團隊知道這些規則。 (jQuery使用顯式分號。)

聽起來您只是啟用了一個lint樣式的警告,即使在ASI可以修復的地方,也沒有啟用它之前,它會標記丟失的分號。

您可以通過搜索“棉絨”或“代碼樣式”或“代碼質量”選項的選項,找到相關的選項,然后將其關閉來禁用警告,但是我不會。 相反,我將尋找如何從lint /代碼樣式/代碼質量分析中排除庫,因為您使用的每個庫的來源都不太適合您的整體編碼樣式規則。


* 根據該語言的原始創建者Brendan Eich的說法

ASI(正式而言)是一種語法錯誤糾正程序。 如果您開始像通用通用換行規則那樣進行編碼,則會遇到麻煩。

(有趣的是,他還說他希望他本來要使換行符變得更重要,而不是減少。但是正如他所說,那條船在1995年開始航行了……)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM