摘要:縮進(jìn)為個(gè)空格句末必須用分號(hào)結(jié)尾待定就無分號(hào)注釋單行注釋多行注釋代碼注釋和再提交重要函數(shù)或者類等都要添加頭描述字符串拼接應(yīng)使用數(shù)組保存字符串片段,使用時(shí)調(diào)用方法。
前言
下面這幾點(diǎn)將工作中所踩的一些坑簡單整理了一下,團(tuán)隊(duì)幾個(gè)人開發(fā),一些默契就比較重要,可以提高開發(fā)效率和代碼的可讀性
命名,編碼和注釋 命名A.文件夾命名:文件夾、文件的命名與命名空間應(yīng)能代表代碼功能,可讀性強(qiáng),如hub
B.函數(shù)和變量命名:
具有意義的駝峰命名,如hubList;
變量函數(shù)名禁止使用關(guān)鍵字和保留字,禁止重新定義(不能重名)或定義不用
C.常量:大寫字母,如HUBLIST
采用統(tǒng)一的縮進(jìn)方式排版代碼??s進(jìn)為2個(gè)ASCII空格,句末必須用分號(hào)結(jié)尾(待定,vue就無分號(hào))
注釋A單行注釋
B多行注釋
C.Js代碼注釋console.log和debugger再提交
D.重要函數(shù)或者類等都要添加頭描述
應(yīng)使用數(shù)組保存字符串片段,使用時(shí)調(diào)用join方法。避免使用+或+=的方式拼接較長的字符串,每個(gè)字符串都會(huì)使用一個(gè)小的內(nèi)存片段,過多的內(nèi)存片段會(huì)影響性能
例一:
例二:會(huì)影響性能
Let:不存在變量提升問題;不能重復(fù)聲明
常量聲明:Const:原理是內(nèi)存地址不可變
箭頭函數(shù):A.有函數(shù)名
B.無函數(shù)名
C.箭頭函數(shù)使用注意的問題:
This指向定義者,內(nèi)部無arguments對(duì)象,不能new(因?yàn)榧^函數(shù)的this就是指向定義本身),函數(shù)里面不要有太多的return
D.函數(shù)的形參不超過7個(gè),超過用數(shù)組,調(diào)用時(shí)實(shí)參和形參對(duì)應(yīng)
E.不能有重復(fù)的返回
F.在循環(huán)內(nèi)部聲明函數(shù)慎用,因?yàn)槭茄h(huán)執(zhí)行完成函數(shù)調(diào)用才會(huì)執(zhí)行
G.Return后面不要寫代碼,并且不封裝成if…then…else…
使用import和export,只能位于代碼頂部和頂部,如果代碼中部需要按需導(dǎo)入文件使用require
解決地獄回調(diào)問題A.方法一
B.方法二
C.promise解決多個(gè)ajax或定時(shí)器調(diào)用數(shù)據(jù)依賴問題
1.promise里面不存在ajax和定時(shí)器
var data1=12; Promise.resolve().then( function(){data1=24}) .then(function(){ console.log(data1); })
2.存在定時(shí)器
var data2=54; let _this=this; Promise.resolve().then(function(){ return new Promise(function(res,rej){ setTimeout(() => { data2=36 console.log(data2) console.log(_this) res() return data2; }, 10); }) }).then(function(){ console.log(data2) })
在定時(shí)器里面設(shè)置res(),res執(zhí)行啦,才會(huì)執(zhí)行then(),如果對(duì)應(yīng)的ajax也可以做類似的封裝
promise里面的this并不指向vue,所以需要在外面緩存
3.axios封裝的promise
可以在axios里面設(shè)置flag,用watch監(jiān)聽,值返回再執(zhí)行下面的代碼,并設(shè)置Flag為false
A.能用三元運(yùn)算符就用,減少if的嵌套,第一個(gè)花括號(hào)位于一行的結(jié)束
B.減少多余條件判斷,如果是函數(shù)返回if里面和外面返回相同的數(shù)據(jù)類型
C.If…else if…else多個(gè)條件時(shí)以else結(jié)尾,因?yàn)榉戏烙跃幊桃?guī)則
D.NaN不應(yīng)該用于比較,應(yīng)該是判斷是否是數(shù)字
E.Switch…case使用在至少有三個(gè)判斷值,case不可省,每次case必須用break跳出
F.for…of遍歷數(shù)組和字符串
可以使用break,return(一個(gè)循環(huán)一個(gè)),continue不使用,降低代碼可讀性
G.for…in遍歷對(duì)象
For…in遍歷對(duì)象包括所有繼承的屬性,所以如果只是想使用對(duì)象本身的屬性需要做一個(gè)判斷
歡迎大家補(bǔ)充和修正!大家圣誕節(jié)快樂.
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/90431.html
摘要:從到完美,寫一個(gè)庫庫前端組件庫之前講了很多關(guān)于項(xiàng)目工程化前端架構(gòu)前端構(gòu)建等方面的技術(shù),這次說說怎么寫一個(gè)完美的第三方庫。使用導(dǎo)出模塊,就可以在使用這個(gè)庫的項(xiàng)目中構(gòu)建時(shí)使用功能。 從 1 到完美,寫一個(gè) js 庫、node 庫、前端組件庫 之前講了很多關(guān)于項(xiàng)目工程化、前端架構(gòu)、前端構(gòu)建等方面的技術(shù),這次說說怎么寫一個(gè)完美的第三方庫。 1. 選擇合適的規(guī)范來寫代碼 js 模塊化的發(fā)展大致有...
摘要:從到完美,寫一個(gè)庫庫前端組件庫之前講了很多關(guān)于項(xiàng)目工程化前端架構(gòu)前端構(gòu)建等方面的技術(shù),這次說說怎么寫一個(gè)完美的第三方庫。使用導(dǎo)出模塊,就可以在使用這個(gè)庫的項(xiàng)目中構(gòu)建時(shí)使用功能。 從 1 到完美,寫一個(gè) js 庫、node 庫、前端組件庫 之前講了很多關(guān)于項(xiàng)目工程化、前端架構(gòu)、前端構(gòu)建等方面的技術(shù),這次說說怎么寫一個(gè)完美的第三方庫。 1. 選擇合適的規(guī)范來寫代碼 js 模塊化的發(fā)展大致有...
摘要:特意對(duì)前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 特意對(duì)前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 本以為自己收藏的站點(diǎn)多,可以很快搞定,沒想到一入?yún)R總深似海。還有很多不足&遺漏的地方,歡迎補(bǔ)充。有錯(cuò)誤的地方,還請(qǐng)斧正... 托管: welcome to git,歡迎交流,感謝star 有好友反應(yīng)和斧正,會(huì)及時(shí)更新,平時(shí)業(yè)務(wù)工作時(shí)也會(huì)不定期更...
摘要:解決思路服務(wù)器端渲染服務(wù)器端和前端公用同一個(gè)應(yīng)用,然后通過構(gòu)建工具及配置,確定哪些組件需要再服務(wù)器端渲染,那些組件需要再客戶端渲染。服務(wù)器端渲染,由框架與構(gòu)建工具配合,并依據(jù)一定的項(xiàng)目結(jié)構(gòu)和編碼方式,共同運(yùn)行。 分離 為什么需要 前后端分離、web服務(wù)器與static服務(wù)器分離: 前端與后端耦合 (需求) 自動(dòng)化、工程化的構(gòu)建前端的代碼 (基礎(chǔ)條件) 模塊化、組件化,項(xiàng)目共享代碼 (...
摘要:文檔規(guī)范和文檔必須采用編碼格式文檔必須使用的標(biāo)準(zhǔn)文檔格式編寫規(guī)范和的標(biāo)簽屬性類名都必須使用小寫字母和的屬性類名命名必須具有語義化代碼必須保持文檔結(jié)構(gòu)清晰,必須合理的進(jìn)行代碼縮進(jìn)文件禁止樣式表內(nèi)引用文件編寫格式,樣式代碼保持一行,多個(gè)選擇器 HTMLCSS文檔規(guī)范 HTML和CSS文檔必須采用UTF-8編碼格式; HTML文檔必須使用HTML5的標(biāo)準(zhǔn)文檔格式; HTMLCSS編寫規(guī)范...
摘要:文檔規(guī)范和文檔必須采用編碼格式文檔必須使用的標(biāo)準(zhǔn)文檔格式編寫規(guī)范和的標(biāo)簽屬性類名都必須使用小寫字母和的屬性類名命名必須具有語義化代碼必須保持文檔結(jié)構(gòu)清晰,必須合理的進(jìn)行代碼縮進(jìn)文件禁止樣式表內(nèi)引用文件編寫格式,樣式代碼保持一行,多個(gè)選擇器 HTMLCSS文檔規(guī)范 HTML和CSS文檔必須采用UTF-8編碼格式; HTML文檔必須使用HTML5的標(biāo)準(zhǔn)文檔格式; HTMLCSS編寫規(guī)范...
閱讀 1664·2023-04-26 00:25
閱讀 980·2021-09-27 13:36
閱讀 989·2019-08-30 14:14
閱讀 2240·2019-08-29 17:10
閱讀 1071·2019-08-29 15:09
閱讀 2003·2019-08-28 18:21
閱讀 1032·2019-08-26 13:27
閱讀 1039·2019-08-26 10:58