摘要:如果團隊成員文件合并,可能會讓團隊其他成員的代碼報錯推薦函數內部,即布局作用域內使用相等兩個等號判斷相等,容易出現強制類型轉換推薦使用三個等于號用來判斷相等原始包裝類型避免使用參考資料編寫可維護的
本文為《編寫可維護的JavaScript》讀書筆記
1、變量
變量名遵守駝峰大小寫命名法
命名前綴可為名詞,這樣可與函數名區分
常量利用大寫字母和下劃線(用來分隔單詞)來命名
所有變量聲明放在函數頂部
函數頂部使用單var語句聲明變量, 不同變量之間使用 "," 分隔開
2、函數
先聲明函數然后使用函數
函數調用寫法推薦:
doSomthing(); //在函數名和左括號之間沒有空格,與塊語句區分開來
立即執行函數
var value = (function(){...})(); //將函數用一對圓括號包裹起來,增強代碼的可讀性
3、null
適用場景:
初始化變量,它可能賦值為一個對象
用來與已經初始化的變量(可以是也可以不是一個對象)比較
當函數的參數期望是對象時,用作參數傳入
函數返回值為對象時,用作返回值傳出
不適用場景
不要用null來檢測是否傳入某個參數
不要用null來檢測一個未初始化的變量
4、undefined(被初始化變量的初始值,表示這個變量等待被賦值)
避免使用undefined
變量為聲明,可將其賦值為null
5、注釋
注釋與語句不在同一行時,注釋之前需要空行
在同一行,注釋和代碼之間需要空行
添加注釋的原則:
難于理解
代碼看上去有錯誤,實際沒有
瀏覽器特性hack時(例如,原生js綁定事件)
關于注釋,推薦使用插件DocBlockr
6、語句
不論塊語句包含多行代碼還是單行代碼,都應當是使用花括號
塊語句包括:
if
for
while
do...while
try...catch...finally
塊語句間隔風格推薦:
if (condition) {} //在括左圓括號之前和右圓括號之后各添加一個空格
7、case語句的連續執行問題(在switch語句中執行完一個case之后繼續執行下一個case):
switch (condition) { case "first": case "second": //代碼 break; default: //代碼 }
case連續執行可以有意為之,但是需要添加注釋
8、with:禁止使用
9、for循環注意事項:盡可能避免使用continue
10、for-in循環
不僅遍歷對象的實例屬性,而且遍歷從原型繼承過來的屬性
最好使用 hasOwnProperty 來為for-in循環過濾出實例屬性
禁止用來遍歷數組成員
11、嚴格模式
不推薦在全局作用域內使用。如果團隊成員文件合并,可能會讓團隊其他成員的代碼報錯
推薦函數內部,即布局作用域內使用
12、相等
兩個等號判斷相等,容易出現強制類型轉換
推薦使用三個等于號用來判斷相等
13、原始包裝類型
`var name = new String("Nicholas");`
避免使用
參考資料:《編寫可維護的JavaScript》
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/78744.html
摘要:刪除不必要的代碼。而簡化前的代碼包含的語法要素對于傳達代碼意義本身作用并不大。刪除不必要的代碼有時候,我們試圖為不必要的事物命名。例如,大多數情況下,你應該省略僅僅用來當做返回值的變量。你的函數名應該已經說明了關于函數返回值的信息。 原文地址 本文已在前端早讀課公眾號首發:【第952期】JavaScript代碼風格要素 譯者:墨白 校對:野草 1920年,由威廉·斯特倫克(Will...
摘要:避免脆弱的基類問題。紅牌警告沒有提到上述任何問題。單向數據流意味著模型是單一的事實來源。單向數據流是確定性的,而雙向綁定可能導致更難以遵循和理解的副作用。原文地址 1. 你能說出兩種對 JavaScript 應用開發者而言的編程范式嗎? 希望聽到: 2. 什么是函數編程? 希望聽到: 3. 類繼承和原型繼承的不同? 希望聽到 4. 函數式編程和面向對象編程的優缺點? ...
摘要:整理收藏一些優秀的文章及大佬博客留著慢慢學習原文協作規范中文技術文檔協作規范阮一峰編程風格凹凸實驗室前端代碼規范風格指南這一次,徹底弄懂執行機制一次弄懂徹底解決此類面試問題瀏覽器與的事件循環有何區別筆試題事件循環機制異步編程理解的異步 better-learning 整理收藏一些優秀的文章及大佬博客留著慢慢學習 原文:https://www.ahwgs.cn/youxiuwenzhan...
摘要:所有的塊語句都應當使用花括號包括花括號的對齊方式第一種風格第二種風格塊語句間隔第一種在語句名圓括號和左花括號之間沒有空格間隔第二種在左圓括號之前和右圓括號之后各添加一個空格第三種在左圓括號后和右圓括號前各添加一個空格我個人喜歡在右括號之后添 所有的塊語句都應當使用花括號, 包括: if for while do...while... try...catch...finally 3....
摘要:使用異步編程,有一個事件循環。它作為面向對象編程的替代方案,其中應用狀態通常與對象中的方法搭配并共享。在用面向對象編程時遇到不同的組件競爭相同的資源的時候,更是如此。 翻譯:瘋狂的技術宅原文:https://www.indeed.com/hire/i... 本文首發微信公眾號:jingchengyideng歡迎關注,每天都給你推送新鮮的前端技術文章 不管你是面試官還是求職者,里面...
閱讀 1296·2021-11-24 09:39
閱讀 2655·2021-09-30 09:47
閱讀 1331·2021-09-22 15:15
閱讀 2417·2021-09-10 10:51
閱讀 1963·2019-08-30 15:55
閱讀 2981·2019-08-30 11:06
閱讀 901·2019-08-30 10:53
閱讀 838·2019-08-29 17:26