在我們進(jìn)行前端開(kāi)發(fā)的過(guò)程中,需要遵循一定的代碼編寫(xiě)規(guī)則,這樣才能夠讓我們寫(xiě)出更合理的、易于閱讀和維護(hù)的代碼,那么你知道在JavaScript中有哪些需要注意的地方嗎?
一.塊級(jí)作用域let 取代 var - 語(yǔ)法上的編程風(fēng)格
1.ES6 提出了兩個(gè)新的聲明變量的命令:let和const。
其中,let完全可以取代var,因?yàn)閮烧哒Z(yǔ)義相同,而且let沒(méi)有副作用。
上面代碼如果用var替代let,實(shí)際上就聲明了兩個(gè)全局變量,這顯然不是理想的設(shè)計(jì)方式。變量應(yīng)該只在其聲明的代碼塊內(nèi)有效,var命令做不到這一點(diǎn)。
2.var命令存在變量提升效用,let命令沒(méi)有這個(gè)問(wèn)題。
3.在let和const之間,建議優(yōu)先使用const,尤其是在全局環(huán)境,不應(yīng)該設(shè)置變量,應(yīng)設(shè)置常量。原因是const可以提醒閱讀程序的人,這個(gè)變量不能改變,比較符合函數(shù)式編程思想,并且JavaScript 編譯器會(huì)對(duì)const進(jìn)行優(yōu)化,所以多使用const,有利于提高程序的運(yùn)行效率。
二、字符串 靜態(tài)字符串一律使用單引號(hào)或反引號(hào),不使用雙引號(hào)。動(dòng)態(tài)字符串使用反引號(hào)。
三.解構(gòu)賦值
ES6允許按照一定模式,從數(shù)組和對(duì)象中提取值,對(duì)變量進(jìn)行賦值,這被稱為解構(gòu)
四.其他操作
1.對(duì)象的操作
對(duì)象盡量靜態(tài)化,一旦定義,就不得隨意添加新的屬性。如果添加屬性不可避免,要使用Object.assign方法。
對(duì)象的屬性和方法,盡量采用簡(jiǎn)潔表達(dá)法
2.使用擴(kuò)展運(yùn)算符(...)拷貝數(shù)組
3.立即執(zhí)行函數(shù)可以寫(xiě)成箭頭函數(shù)的形式。
4.用 Class取代prototype 的操作。因?yàn)?Class 的寫(xiě)法更簡(jiǎn)潔,更易于理解。
五.括號(hào)的位置 - 語(yǔ)法格式上的編程風(fēng)格
1.大括號(hào)的位置
絕大多數(shù)的編程語(yǔ)言,都用大括號(hào)({})表示代碼塊。對(duì)于起首的大括號(hào)的位置,有許多不同的寫(xiě)法。最流行的有兩種。
第一種是起首的大括號(hào)另起一行 - 推薦
第二種是起首的大括號(hào)跟在關(guān)鍵字的后面,但是Javascript會(huì)自動(dòng)添加句末的分號(hào),有可能會(huì)導(dǎo)致一些難以察覺(jué)的錯(cuò)誤。
2.圓括號(hào)
圓括號(hào)在Javascript中有兩種作用,一種表示調(diào)用函數(shù),另一種表示不同的值的組合。我們可以用空格,區(qū)分這兩種不同的括號(hào)。
調(diào)用函數(shù)的時(shí)候,函數(shù)名與左括號(hào)之間沒(méi)有空格。
函數(shù)名與參數(shù)序列之間,沒(méi)有空格。
所有其他語(yǔ)法元素與左括號(hào)之間,都有一個(gè)空格
學(xué)習(xí)web前端,可以參考千鋒web前端培訓(xùn)班提供的web前端學(xué)習(xí)路線,該學(xué)習(xí)路線對(duì)從零基礎(chǔ)小白到web前端初級(jí)開(kāi)發(fā)工程師,web前端高級(jí)開(kāi)發(fā)工程師,后面的web前端大神級(jí)開(kāi)發(fā)工程師都有一個(gè)明確清晰的指導(dǎo),根據(jù)千鋒web前端培訓(xùn)機(jī)構(gòu)提供的web前端學(xué)習(xí)路線圖可以讓你對(duì)學(xué)習(xí)web前端開(kāi)發(fā)需要掌握的知識(shí)有個(gè)清晰的了解,并快速入門web前端開(kāi)發(fā)。想要獲取前端完整學(xué)習(xí)路線和免費(fèi)的學(xué)習(xí)資料可以添加我們的web前端技術(shù)分享交流qq群:857920838 加群找群管理領(lǐng)取即可,等你來(lái)哦~~