當前位置:首頁 » 網頁前端 » web前端編碼規范
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web前端編碼規范

發布時間: 2022-08-17 04:16:49

『壹』 web前端配置文件的格式有哪些

*.pif為DOS環境下的可執行文件在Windows下執行時所需要的文件格式★常見的文件後綴名.ACA:Microsoft的代理使用的角色文檔.acf:系統管理配置.acm:音頻壓縮管理驅動程序,為Windows系統提供各種聲音格式的編碼和解碼功能.aif:聲音文件,支持壓縮,可以使用WindowsMediaPlayer和QuickTimePlayer播放.AIF:音頻文件,使用WindowsMediaPlayer播放.AIFC:音頻文件,使用WindowsMediaPlayer播放.AIFF:音頻文件,使用WindowsMediaPlayer播放.ani:動畫游標文件擴展名,例如動畫沙漏。.ans:ASCII字元圖形動畫文件.arc:一種較早的壓縮文件,可以使用WinZip,WinRAR,PKARC等軟體打開.arj:壓縮文件。可以使用WinZip,WinRAR,PKARC等軟體打開.asf:微軟的媒體播放器支持的視頻流,可以使用WindowsMediaPlayer播放.asp:微軟的視頻流文件,可以使用WindowsMediaPlayer打開.asp:微軟提出的ActiveServerPage,是伺服器端腳本,常用於大型網站開發,支持資料庫連接,類似PHP。可以使用VisualInterDev編寫,是目前的大熱門.asx:WindowsMedia媒體文件的快捷方式.au:是Internet中常用的聲音文件格式,多由Sun工作站創建,可使用軟體WaveformHoldandModify播放。NetscapeNavigator中的LiveAudio也可以播放.au文件.avi:一種使用MicrosoftRIFF規范的Windows多媒體文件格式,用於存儲聲音和移動的圖片.bak:備份文件,一般是被自動或是通過命令創建的輔助文件,它包含某個文件的最近一個版本,並且具有於該文件相同的文件名.basBasic:語言源程序文件,可編譯成可執行文件,目前使用Basic開發系統的是VisualBasic.bat:批處理文件,在MS-DOS中,.bat文件是可執行文件,有一系列命令構成,其中可以包含對其他程序的調用.bbs:電子告示板系統文章信息文件.bfc:Windows的公文包文件.bin:二進制文件,其用途依系統或應用而定.bmp:Bitmap點陣圖文件,這是微軟公司開發Paint的自身格式,可以被多種Windows和WindowsNT平台及許多應用程序支持,支持32位顏色,用於為Windows界面創建圖標的資源文件格式。.c:C語言源程序文件,在C語言編譯程序下編譯使用.cab:Microsoft制訂的壓縮包格式,常用於軟體的安裝程序,使用Windows自帶的實用程序,Extract.exe可以對其解壓縮,WinZip,WinRAR等都支持這種格式.cal:Windows中的日歷文件.cdf:InternetExplorer的頻道文件.cdr:CorelDraw中的一種圖形文件格式,它是所有CorelDraw應用程序中均能夠使用的一種圖形圖像文件格式.cdx:索引文件,存在於Dbase,Foxbase,Foxpro系統軟體環境下.cfg:配置文件,系統或應用軟體用於進行配置自己功能,特性的文件.chm:編譯過後的HTML文件,常用於製作幫助文件和電子文檔.clp:在Windows下剪貼板中的文件格式.cmd:用於WindowsNT/2000的批處理文件,其實與BAT文件功能相同,只是為了與DOS/Windows9x下的BAT有所區別.cmf:音效卡標準的音樂文件,FM合成器等可以回放.cnf:NetMeetting會議連接文件.cnt:聯機幫助文件目錄索引文件,通常和同名的.hlp文件一起保存.col:由AutodeskAnimator,AutodeskAnimatorPor等程序創建的一種調色板文件格式,其中存儲的是調色板中各種項目的RGB值.com:DOS可執行命令文件,一般小於64KB.cpl:控制面板擴展文件,Windows操作系統使用.cpp:C++語言源程序,非常強大的語言,在各種平台中都有相應的開發系統.crd:Windows中的卡片文件.crt:用於安全方面的證書認證文件.cur:Windows下的游標資源文件格式,可用游標編輯軟體編輯.css:Text/css文件.dat:數據文件,在應用程序中使用.dat:VCD中的圖象聲音文件,VCD播放軟體可調用,或是通過VCD機播放.dbf:資料庫文件,Foxbase,Dbase,VisualFoxPro,等資料庫處理系統所產生的資料庫文件.dcx:傳真瀏覽文檔文件.ddi:映象文件,DUP,HD,IMG等工具可.dev:設備驅動程序.dib:設備無關點陣圖文件,這是一種文件格式,其目的是為了保證用某個應用程序創建的點陣圖圖形可以被其它應用程序裝載或顯示一樣.dir:目錄文件.dll:Windows動態連接庫,幾乎無處不在,但有時由於不同版本DLL沖突會造成敗各種各樣的問踢.doc:是目前市場佔有率最高的公室軟體MicrosoftOffice中的字處理軟體Word創建的文檔.dos:Windows保留的MS-DOS的某些系統文件.dot:MicrosoftWord的文檔模板文件,通過模板可以簡化一些常用格式文檔的創建工作,而且可以內嵌VBA程序來實現某些自動化功能.drv:設備驅動程序文件,用在各種系統中.dwg:AutoCAD的圖紙文件,也是許多繪圖軟體都支持的格式,常用於共享數據.dxb:AutoCAD創建的一中圖形文件格式.dxf:圖形交換格式,一種計算機輔助設計的文件格式,最初開發用來與AutoCAD一起使用,以便於圖形文件在應用程序之間的傳遞,它以ASCII方式儲存圖形,在表現圖形的大小方面十分精確.der:Certiticate文件.dic:Txt文件.emf:由Microsoft公司開發的Windows32位擴展圖元文件格式,其總體設計目標是要彌補在MicrosoftWindows3.1(Win16)中用的*.wmf文件格式的不足,使得圖元文件更加易於使用.eps:用PostScript語言描述的一種圖形文件格式,以文本文件保存,在PostScript圖形列印機上能列印出高品質的圖形圖象,最高能表示32點陣圖形圖象.err:編譯錯誤文件,存在於Dbase,Foxbase,Foxpro系列軟體環境下.exe:可執行文件,雖然後綴名相同,但具有不同的格式和版本.exp:3DS使用的顯示卡驅動程序.exc:Txt文件.flc:AutodeskAnimator和Animatorpro的動畫文件,支持256色,最大的圖象象索是64000*64000,支持壓縮,廣泛用於動畫圖形中的動畫序列,計算機輔助設計和計算機游戲應用程序.fnd:保存的搜索結果.fon:點陣字型檔文件.for:Fortran語言程序.fot:指向字體的快捷鍵.fp:配置文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下.fpt:備注欄位文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下.frt:報表文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下.frx:報表文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下.fxp:編譯後的程序,存在於Dbase,Foxbase,Foxpro系列軟體的環境下.gif:在各種平台的各種圖形處理軟體上均能夠處理的,經過壓縮的一種圖形文件格式.grh:方正公司的圖象排版文件.grp:Windows下的程序管理器產生的組窗口文件.goc:Gocserve.gra:MSGraph.Chart.5.h:C語言源程序頭文件.hlp:Windows應用程序幫助文件.hqx:Macintosh中使用BinHex將二進制文件編碼為7位的文本文件,大多數Macintosh文件皆以.hqx出現(.bin極少使用),在Macintosh中,可使用StuffItExpander對.hqx解碼,在Windows中可使用BinHex13解碼.ht:超級終端.htm:保存超文本描述語言的文本文件,用於描述各種各樣的網頁,使用各種瀏覽器打開.html:同.htm文件.icm:圖象配色描述文件.ico:Windows中的圖標文件,可以包含同一個圖標的多種格式,使用圖標編輯軟體創建.idf:MIDI樂器定義.idx:索引文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下.iff:文件交換格式文件,這種文件格式多用於Amiga平台,在這種平台上它幾乎可以存儲各種類型的數據,在其它平台上,IFF文件格式多用於存儲圖象和聲音文件.image:MAcintosh磁碟映象文件,常見於萍果機的FTP網點,在Macintosh中由ShrinkWrap處理.ime:Windows下的輸入法文件.img:磁碟映象文件,用HD-COPY,WinImage等工具打開後可以恢復到一張磁碟上.inc:匯編語言包含文件,類似C/C++中的.H文件.inf:Windows下的軟體安裝信息,Windows的標准安裝程序根據此文件內的安裝信息對軟體,驅動程序等進行安裝.ini:Windows中的初始化信息文件,已經用的不多了,新的應用程序將設置保存在系統的注冊表中.jar:一種壓縮文件,ARJ的新版本,不過不太流行,可以使用WinJar,Winrar等打開.jpeg:一種圖片壓縮文件,同.jpg.jpg:靜態圖象專家組制訂的靜態圖象壓縮標准,具有很高的壓縮比,使用非常廣泛,可使用PhotoShop等圖象處理軟體創建.lnk:快捷方式,這個文件指向另一個文件,開始菜單的程序文件夾下每條項目都是一個LNK文件.log:日誌文件,通常用來記錄一些事件之類.lzh:一種古老的壓縮文件,可以使用WinRAR打開.mac:Macintosh中使用的一中灰度圖形文件格式,在MacintoshPaintbrush中使用,其解析度只能是720*567.mag:圖形文件格式.mdb:MicrosoftAccess使用的資料庫格式,是非常流行的桌面資料庫.men:內存應用文件,存在於Dbase,Foxbase,Foxpro系列軟體的環境下.mid:音頻壓縮文件,曾經非常流行,不過在現在的軟體中用的很少了rle:一種壓縮過的點陣圖文件格式,RLE壓縮方案是一種極其成熟的壓縮方案,特點是無損失壓縮,既節省了磁碟空間又不損失任何圖像數據,但在打開這種壓縮文件時,要花費時間,此外,一些兼容性不太好的應用程序可能會搭不開.rm:Windows下的RealPlayer所支持的視頻壓縮文件,網上非常流行的流式視頻文件,很多實時視頻新聞等都是採用這種格式的,不過,最新的WindowsMediaVideoV8已經對其發起了強大的攻勢.rmi:MIDI音序文件.rtf:豐富文本格式文件,以純文本描述內容,能夠保存各種格式信息,可以用寫字版,Word等創建.sav:存檔文件.scp:用於Windows系統中Internet撥號用戶,自動撥號登錄用的腳本文件,可避免手動登錄時繁瑣的鍵盤輸入.scr:屏障保護文件.sct:屏幕文件.scx:屏幕文件.set:Microsoft備份集文件,用於保存要備份的內容,設置等信息.shb:指向一個文檔的快捷方式.snd:Mac聲音文件,Apple計算機公司開發的聲音文件格式,被Macintosh平台和多種Macintosh應用程序所支持,支持某些壓縮.sql:查詢文件,在Dbase,Foxbase,Foxpro系列軟體的環境下使用.svg:SVG可以算是目前最火熱的圖像文件格式了,它是基於XML由WorldWideWebConsortium聯盟開發的,SVG是可縮放的矢量圖形.svx:Amiga聲音文件,Commodore所開發的聲音文件格式,被Amiga平台和應用程序所支持,不支持壓縮.swf:flash是Micromedia公司的產品,嚴格說它是一種動畫編輯軟體,實際上它是製作出一種後綴名為.swf的動畫,這種格式的動畫能用比較小的體積來表現豐富的多媒體形式,並且還可以與HTML文件達到一種"水乳交融"的境界.swg:虛擬內存交換文件,由操作系統使用.sys:系統文件,驅動程序等,在不同的操作系統中有不同的定義

『貳』 Web前端開發有哪些良好的編程習慣

個人建議, 多看別人的代碼,多給別人看自己的代碼。多思考怎麼簡化邏輯,怎麼容易維護。相關的文章和書籍還是挺多的。把js學透,在頁面重構方面學好css,盒模型把bfc都學懂。編程技術方面就是不斷的模仿和吸收,沒事多折騰,但不是瞎折騰。

布局的話去看css那些事兒,js的話去妙味課堂花100弄個會員可以看裡面的視頻資源很多,一年堅持下來就到中級了,之後再考慮向重構還是專寫js上發展,不管怎麼樣多寫一下總結,多問幾個為什麼,多練習。

以上就是一些良好的習慣,希望參考。

『叄』 Web前端開發規范之HTML規范

今天小編要跟大家分享的文章是關於Web前端開發規范之HTML規范。Web前端作為開發團隊中不可或缺的一部分,需要按照相關規定進行合理編寫(一部分不良習慣可能給自己和他人造成不必要的麻煩)。不同公司不同團隊具有不同的規范和文檔。下面是根據不同企業和團隊的要求進行全面詳細的整理結果。來和小編一起看一看HTML規范的原則吧!

HTML規范


1、文檔類型聲明及編碼:統一為html5聲明類型。書寫時利用IDE實現層次分明的縮進(默認縮進4空格)。


2、非特殊情況下CSS文件放在body部分標簽後。非特殊情況下大部分JS文件放在標簽尾部(如果需要界面未載入前執行的代碼可以放在head標簽後)避免行內JS和CSS代碼。


3、所有編碼需要遵循html(XML)標准,標簽&屬性&屬性命名必須由小寫字母及下劃線數字組成,且所有標簽必須閉合,包括br(),hr()等。屬性值用雙引號。


4、引入JS庫文件,文件名須包含庫名稱及版本號及是否為壓縮版,比如jquery-1.4.1.min.js。引入插件,文件名格式為庫名稱+插件名稱,比如jQuery.bootstrap.js。


5、書寫頁面過程中,請考慮向後擴展性。class&id參見css書寫規范.


6、需要為html元素添加自定義屬性的時候,首先要考慮下有沒有默認的已有的合適標簽去設置,如果沒有,可以使用須以"data-"為前綴來添加自定義屬性,避免使用"data:"等其他命名方式。


7、語義化html,如標題根據重要性用h*(同一頁面只能有一個h1),段落標記用p,列表用ul,內聯元素中不可嵌套塊級元素。


8、盡可能減少div多層級嵌套。


9、書寫鏈接地址時,必須避免重定向,例如:href="http://#/",即須在URL地址後面加上「/」;


10、在頁面中盡量避免使用style屬性,即style=""。


11、必須為含有描述性表單元素(input,textarea)添加label,如姓名:須寫成:姓名:


12、能以背景形式呈現的圖片,盡量寫入css樣式中。


13、重要圖片必須加上alt屬性。給重要的元素和截斷的元素加上title。


14、給區塊代碼及重要功能(比如循環)加上注釋,方便後台添加功能。


15、特殊符號使用:盡可能使用代碼替代:比如<(<)&>(>)&空格()&_(_)等等。


以上就是小編今天為大家分享的關於Web前端開發規范之HTML規范的文章,希望本篇文章能夠對正在從事Web前端工作的小夥伴們有所幫助,想要了解更多Web前端知識記得關注北大青鳥Web培訓官網,最後祝願小夥伴們工作順利,成為一名優秀的Web前端工程師。


『肆』 Web前端開發人員應該掌握的編碼原則有哪些

今天小編要跟大家分享的文章是關於Web前端開發人員應該掌握的編碼原則有哪些?HTML已經走過了20幾年的發展歷程,它幾乎見證了整個互聯網的發展。但是,即便到現在,有很多基礎的概念和原則依然需要開發者高度注意。下面,向大家介紹這些應該遵循的開發原則,讓我們一起來看一看吧~

1、善用DIV來布局


當開發一個Web頁面時,要考慮第一件事就是區分頁面重點。將這些內容用DIV標簽包含起來,頁面的代碼會呈現出整潔、縮進良好的風格。

『伍』 web前端技術需要從哪裡開始學起

首先要學習前端頁面重構。包括PC端網站布局、HTML5+CSS3基礎、WebApp頁面布局等等,打好前端開發的基礎。
然後要學JavaScript高級程序設計、PC端全棧開發的知識。包括原生JavaScript交互功能開發、面向對象進階與ES5/ES6/ES7應用、JavaScript工具庫自主研發、jQuery經典交互特效開發、PHP+MySQL後端基礎、前端工程化與模塊化應用等。
前面的知識都掌握了,就可以學框架、混合開發了。包括Node.js後端開發、Vue.js前端框架、React前端框架、混合開發(Hybrid,RN)、Angular前端框架等等。

『陸』 web前端怎麼寫好代碼

web前端開發需要掌握的技術:
1、
學習html,這個是最簡單的,也是最基礎的。要熟練掌握div、form table、ul
li、p、span、font這些標簽,這些都是最常用的,特別是div和table,div用於布局、table也可以用於布局,但是不靈活,基本
table是用來和數據打交道。
2、學習css,這里說的css不包括css3,一般我們看到web前端開發工程師的要求裡面,有一個會使
用css+html或者css+div來進行界面布局,所以css是用於輔助html來布局和展示的,我們稱之為「css樣式」,為什麼會說
css+div呢?因為我上面說了div就是html主要用於布局的東西,所以div就是核心掌握的東西!那麼css肯定必須要配合div來使用才好。
css要熟練掌握float、position、width、height,以及對於的最大最小、會使用百分百、overflow、margin、
padding等等,這些都是跟布局 有關系的樣式,一點要掌握。
3、學習js。
可能前兩個大家覺得還過的去,看到js就蛋疼了,其實吧,js入門很簡單的,不需要會很多東西的,只要會根據某個id、或者name拿到網頁dom或者樣

式、或者值,然後會給某個id或者name的元素標簽賦值、或者追加數據、追html,這個是跟數據有關系的操作,然後數據邏輯判斷,效果方面的,無非就

是跳轉、彈框、隱藏什麼的,把這些全部結合其他就是實際用途了,代碼一點都不難,會了這些基礎js,其他的直接網路就好了。然後看多了,用多了,就什麼都
不是問題了。
4、學習jquery。jquery是相當於把js封裝了一套的一個js插件,目的就是操作起來更方便,代碼寫的更少,jquery入門也很簡單,那些是入門需要學的和js一樣,只是換成了jq的代碼。其他的一樣網路就夠了。
5、
最好會點後台語言,比如java、php,為什麼呢?因為我們前台界面的數據都是從後台來的,如果會點後台代碼,就知道怎麼跟後台交互數據是最好的,
這樣節約時間,也可以讓前端代碼更規范。不然可能因為你的寫法和後端給來的數據不能結合上,那麼前端代碼又得重新寫,那就更蛋疼了。
6、學
習css3+html5,為什麼這個放最後呢?哈哈,因為我自己也不太會,畢竟術業有專攻嘛,雖然這個很流行,但是我是搞後端的,在工作中用不到
它,只有在自己網站需要改樣式,或者朋友網站樣式出問題的時候,我才會去臨時去研究下。但是如果你們是准備專門搞前端,那麼最好還是學一下的。

面6點,基本是一個搞web前端開發工程師需要掌握的技術,然後我也盡量的把自己的一點點經驗告訴了大家,但是大家不要以為上面6點就只有我說的那麼容
易,不,他們之所以被人使用,之所以這么火,就是因為強大!我說的這么簡單僅僅是打消你們覺得很難的原因,萬事開頭難,我講的都是入門的方法和技巧以及需

要知道的東西。另外告訴大家一個秘密,不要以為代碼很難敲,現在什麼語言都有自動提示代碼的功能,只需要輸入一個字元,兩個字元,後面的代碼都會彈出來讓
你選擇!還怕啥呢?所以你也不要怕你英語不好了。

『柒』 Web前端開發規范之js規范

今天小編要跟大家分享的文章是關於Web前端開發規范之js規范。Web前端作為開發團隊中不可或缺的一部分,需要按照相關規定進行合理編寫(一部分不良習慣可能給自己和他人造成不必要的麻煩)。不同公司不同團隊具有不同的規范和文檔。下面是根據不同企業和團隊的要求進行全面詳細的整理結果。來和小編一起看一看js規范的原則吧!

js規范


1、文件編碼統一為utf-8,書寫過程過,每行代碼結束必須有分號。原則上所有功能均根據XXX項目需求原生開發,以避免網上down下來的代碼造成的代碼污染(沉冗代碼||與現有代碼沖突||...)。


2、庫引入:原則上僅引入jQuery庫,若需引入第三方庫,須與團隊其他人員討論決定。


3、變數命名:駝峰式命名.原生JS變數要求是純英文字母,首字母須小寫,如myVue。jQuery變數要求首字元為'_',其他與原生JS規則相同,如:_myVue。另,要求變數集中聲明,避免全局變數.


4、類命名:首字母大寫,駝峰式命名.如MyVue。


5、函數命名:首字母小寫駝峰式命名.如myVue()。


6、命名語義化,盡可能利用英文單詞或其縮寫。


7、盡量避免使用存在兼容性及消耗資源的方法或屬性,比如eval_r()&innerText。


8、後期優化中,JS非注釋類中文字元須轉換成unicode編碼使用,以避免編碼錯誤時亂碼顯示。


9、代碼結構明了,加適量注釋.提高函數重用率。


10、注重與html分離,減小reflow,注重瀏覽器性能.


以上就是小編今天為大家分享的關於Web前端開發規范之js規范的文章,希望本篇文章能夠對正在從事Web前端工作的小夥伴們有所幫助,想要了解更多Web前端知識記得關注北大青鳥Web培訓官網,最後祝願小夥伴們工作順利,成為一名優秀的Web前端工程師。


『捌』 Web前端開發規范之css規范

今天小編要跟大家分享的文章是關於Web前端開發規范之css規范。Web前端作為開發團隊中不可或缺的一部分,需要按照相關規定進行合理編寫(一部分不良習慣可能給自己和他人造成不必要的麻煩)。不同公司不同團隊具有不同的規范和文檔。下面是根據不同企業和團隊的要求進行全面詳細的整理結果。來和小編一起看一看css規范的原則吧!

css規范


1、編碼規范為utf-8。


2、協作開發及分工:i會根據各個模塊,同時根據頁面相似程序,事先寫**體框架文件,分配給前端人員實現內部結構&表現&行為。共用css文件base.css由i書寫,協作開發過程中,每個頁面請務必都要引入,此文件包含reset及頭部底部樣式,此文件不可隨意修改。


3、class與id的使用:id是唯一的並是父級的,class是可以重復的並是子級的,所以id僅使用在大的模塊上,class可用在重復使用率高及子級中。id原則上都是由我分發框架文件時命名的,為JS預留鉤子的除外。


4、為JS預留鉤子的命名,請以js_起始,比如:js_hide,js_show。


5、class與id命名:大的框架命名比如header/footer/wrapper/left/right之類的在2中由i統一命名.其他樣式名稱由小寫英文&數字&來組合命名,如i_comment,fontred,width200。避免使用中文拼音,盡量使用簡易的單片語合。總之,命名要語義化,簡明化


6、規避class與id命名(此條重要,若有不明白請及時與i溝通):a)通過從屬寫法規避,示例見d。b)取父級元素id/class命名部分命名,示例見d。c)重復使用率高的命名,請以自己代號加下劃線起始,比如i_clear。d)a,b兩條,適用於在2中已建好框架的頁面,如,要在2中已建好框架的頁面代碼中加入新的div元素,按a命名法則:...,樣式寫法:#mainnav.firstnav{.......}按b命名法則:...,樣式寫法:.main_firstnav{.......}


7、css屬性書寫順序,建議遵循:布局定位屬性-->自身屬性-->文本屬性-->其他屬性.此條可根據自身習慣書寫,但盡量保證同類屬性寫在一起.屬性列舉:布局定位屬性主要包括:display&list-style&position(相應的top,right,bottom,left)&float&clear&visibility&overflow;


自身屬性主要包括:width&height&margin&padding&border&background。


文本屬性主要包括:color&font&text-decoration&text-align&vertical-align&white-space&


其他&content。


8、書寫代碼前,提高樣式重復使用率。


以上就是小編今天為大家分享的關於Web前端開發規范之css規范的文章,希望本篇文章能夠對正在從事Web前端工作的小夥伴們有所幫助,想要了解更多Web前端知識記得關注北大青鳥Web培訓官網,最後祝願小夥伴們工作順利,成為一名優秀的Web前端工程師。


『玖』 Web前端工程師該如何寫出高質量的JavaScript代碼

今天小編要跟大家分享的文章是關於Web前端工程師該如何寫出高質量的JavaScript代碼。很多正在從事web前端工作的小夥伴們都想知道怎樣寫出高質量的JavaScript。因為想寫好一個JavaScript確實並不是一份簡單的事情,所以我們來聊聊零基礎要寫好JavaScript代碼的一些細節。關注好這些細節,你也能寫出高質量的JavaScript代碼了。


所謂的高質量的JavaScript代碼,其實指的就是可維護性高,可讀性高,可拓展性高的代碼,不僅開發的過程中寫得舒服,而且後期維護也很輕松的代碼質量。讓我們一起從細節來把握我們的JavaScript質量。一、可維護性高的代碼在我們開發過程中,當出現bug的時候,我們立刻去修復,這時候解決代碼bug的思路是最清晰的。否則,你去做了別的代碼任務或者這個bug出現了一段時間,你再去處理,你就忘了你寫的思路是什麼了,那這時候去處理這些代碼你就需要想兩個問題了:


1.花時間去學習和理解這個代碼問題


2.花時間了解bug的解決方案


同時,你如果是在企業中做的大型項目,都是團隊開發,開發和維護可能都不是同一個人(發現bug和修復bug的都不是作者)。


所以,必須降低大量的理解代碼的時間,無論是你自己寫的代碼,還是團隊中其他人的代碼。


這關繫到整個項目的發展和開發團隊每個人的生活幸福啊,畢竟我們應該多花時間去研究更多好的代碼想法,而不是時間都浪費在維護遺留代碼裡面。


所以,可維護性高的代碼很重要,一般可維護性高的代碼都有以下這些原則:


1._可讀性高(例如好的命名,解析性強的注釋)


2._一致性強(命名風格,編碼風格,代碼規范)


3._可預測性(明顯看出運行效果)


4._風格統一(看上去就知道是不是同一個人寫完的)


5._有記錄(有清晰的注釋開發記錄)二、全局變數的問題什麼是全局變數的問題,就是在你的javascript程序和網頁中的所有代碼都共享這些變數,他們都住在同一個命名空間裡面(全局作用域),所以當程序在執行過程中兩個不同部分定義同名但不同作用的全局變數的時候,命名沖突的情況就很常見了(許多小白遇到了就抓不著頭腦了:咦,這個命名沒問題啊,為什麼報錯了?)。


而且,網頁裡麵包含有其他不是開發作者寫的代碼而產生的全局命名問題也是比較常見的。比如說:


1.第三方javascript庫


2.甲方(或開發團隊自己封裝的代碼)的腳步代碼


3.第三方用戶跟蹤或分析代碼


4.不同類型的UI組件


.....


這些帶來的情況就很常見了,比如說,第三方腳本定義了一個變數,叫做userId,接著,你的函數裡面也寫了個userId的全局變數。這個時候的結果就是,後面的覆蓋掉前面的變數,第三方腳本直接就無效了,這種情況是很難調試出來的。


所以,盡可能的少使用全局變數很重要,例如命名空間模式或者函數立即執行,不過要想讓全局變數減少,最重要的還是多用var來聲明變數。三、忘記var的副作用隱式全局變數和顯式定義的全局變數是有點差異的。


具體如下:


·___ü_ar創建的全局變數(任何函數之外的程序中創建)是不能被刪除的。


·___揮型ü_ar創建的隱式全局變數(無視是否在函數中創建)是能被刪除的。


所以隱式全局變數並不是真正的全局變數,但它們是全局對象的屬性。


屬性是可以通過delete操作符刪除的,而變數是不能的,具體的代碼我這里就不說了。四、訪問全局對象在瀏覽器中,全局對象可以通過window屬性在代碼任何地方訪問(除非說你做了一些很超乎想像的事情,比如說聲明了一個名為window的局部變數)。


但是在其他環境下,這個方便的屬性可能被叫做其他什麼東西(甚至在程序中不可用)。


如果你需要在沒有硬編碼的window標識符下訪問全局對象,你可以在任何層級的函數作用域中做如下操作:


五、for循環在使用for循環的時候,可以遍歷拿到數組或者數組類似對象的值,比如說arguments和HTMLCollection對象,一般我們的寫法都是這樣的:

這種循環的方式並不是很好,每次執行循環的時候都需要獲取一次數組的長度,這個時候我們代碼的執行效率就特別低了,特別是當myArray不是數組的時候,而是一個HTMLCollection對象的時候。六、不擴展內置原型

擴增構造函數的prototype屬性是個很強大的增加功能的方法,但有時候它太強大了。


增加內置的構造函數原型(如Object(),Array(),或Function())挺誘人的,但是這嚴重降低了可維護性,因為它讓你的代碼變得難以預測。


使用你代碼的其他開發人員很可能更期望使用內置的JavaScript方法來持續不斷地工作,而不是你另加的方法。


另外,屬性添加到原型中,可能會導致不使用hasOwnProperty屬性時在循環中顯示出來,這會造成混亂。七、避免隱式類型轉換JavaScript的變數在比較的時候會隱式類型轉換。


這就是為什麼一些諸如:false==0或「」==0返回的結果是true。


為避免引起混亂的隱含類型轉換,在你比較值和表達式類型的時候始終使用===和!==操作符。


八、編碼規范建立和遵循編碼規范是很重要的,這讓你的代碼保持一致性,一目瞭然,更易於閱讀和理解。


一個新的開發者加入這個團隊可以通讀規范,能馬上理解其它團隊成員書寫的代碼,更快上手進行開發。九、縮進代碼開發,標準的縮進是最基本的,沒有縮進的代碼基本就不能讀了。唯一糟糕的事情就是不一致的縮進,因為它看上去像是遵循了規范,但是可能一路上伴隨著混亂和驚奇。重要的是規范地使用縮進。十、注釋注釋這個,其實是應該只要是寫了代碼,都要有注釋的,讓別人一看你的代碼就能快速理解你的代碼。


在平時我們開發的時候,你很花時間去研究一個程序怎麼實現,你會很清楚的知道這個代碼是幹嘛用的。但是,你一周之後回來再看這段代碼,你就會燒掉很多腦細胞了。


當然,注釋也不能走極端路線:有的人就說不是要理解沒一段代碼嗎,那每個單獨變數或是單獨一行就給一段注釋。這樣就很沒有意義了。


一般來說,注釋都是記錄在函數的部分,它們的參數和返回值,或是一些不尋常的技術和方法。通過注釋可以給你代碼的未來閱讀者以諸多提示;


閱讀你代碼的人需要的是(不要讀太多的東西)注釋和函數名來理解你的代碼意義。十一、花括弧{}花括弧(也稱大括弧,下同)應該多使用,即使在它們為可選的時候。技術上來說,在in或是for中如果執行語句僅一條時,花括弧是不需要寫也能執行理想效果的,但是你最好還是用花括弧,因為這會讓你的代碼更有持續性和易於更新,並且更加好理解。


以上就是小編今天為大家分享的關於Web前端工程師該如何寫出高質量的JavaScript代碼的文章,希望本篇文章能夠對正在從事web前端工作的小夥伴們有所幫助。想要了解更多web前端相關知識記得關注北大青鳥web培訓官網。最後祝願小夥伴們工作順利,成為一名優秀的web前端工程師。