嫩草影院久久99_老司机午夜网站国内精品久久久久久久久_久久夜色精品国产_国产一级做a爰片久久毛片

停止犯下這5個JavaScript風格錯誤,使你的代碼可讀和可維護的快速提示

2020-7-24    seo達人

使你的代碼可讀和可維護的快速提示。


有多少次,你打開一個舊的項目,發現混亂的代碼,當你添加一些新的東西時,很容易崩潰?我們都有過這樣的經歷。


為了減少難以讀懂的javascript的數量,我提供了以下示例。這些都是我過去所犯過的錯誤。


對具有多個返回值的函數使用數組解構

假設我們有一個返回多個值的函數。一種可能的實現是使用數組解構,如下所示:


const func = () => {

 const a = 1;

 const b = 2;

 const c = 3;

 const d = 4;

 return [a,b,c,d];

}

const [a,b,c,d] = func();

console.log(a,b,c,d); // 1,2,3,4

盡管上面的方法很好用,但確實引入了一些復雜性。


當我們調用函數并將值分配給 a,b,c,d 時,我們需要注意返回數據的順序。這里的一個小錯誤可能會成為調試的噩夢。


此外,無法確切指定我們要從函數中獲取哪些值,如果我們只需要 c 和 d 怎么辦?


相反,我們可以使用對象解構。


const func = () => {

 const a = 1;

 const b = 2;

 const c = 3;

 const d = 4;

 return {a,b,c,d};

}

const {c,d} = func();

現在,我們可以輕松地從函數中選擇所需的數據,這也為我們的代碼提供了未來的保障,允許我們在不破壞東西的情況下增加額外的返回變量。


不對函數參數使用對象分解

假設我們有一個函數,該函數將一個對象作為參數并對該對象的屬性執行一些操作。一種幼稚的方法可能看起來像這樣:


// 不推薦

function getDaysRemaining(subscription) {

 const startDate = subscription.startDate;

 const endDate = subscription.endDate;

 return endDate - startDate;

}

上面的方法按預期工作,但是,我們創建了兩個不必要的臨時引用 startDate 和 endDate。


一種更好的實現是對 subscription 對象使用對象解構來在一行中獲取 startDate 和 endDate。


// 推薦

function getDaysRemaining(subscription) {

 const { startDate, endDate } = subscription;

 return startDate - endDate;

}

我們可以更進一步,直接對參數執行對象析構。


// 更好

function getDaysRemaining({ startDate, endDate }) {

 return startDate - endDate;

}

更優雅,不是嗎?


在不使用擴展運算符的情況下復制數組

使用 for循環遍歷數組并將其元素復制到新數組是冗長且相當丑陋的。


可以以簡潔明了的方式使用擴展運算符來達到相同的效果。


const stuff = [1,2,3];


// 不推薦

const stuffCopyBad = []

for(let i = 0; i < stuff.length; i++){

 stuffCopyBad[i] = stuff[i];

}


// 推薦

const stuffCopyGood = [...stuff];

使用var

使用 const 保證不能重新分配變量。這樣可以減少我們代碼中的錯誤,并使其更易于理解。


// 不推薦

var x = "badX";

var y = "baxY";


// 推薦

const x = "goodX";

const y = "goodX";

果你確實需要重新分配變量,請始終選擇 let 而不是 var。


這是因為 let 是塊作用域的,而 var 是函數作用域的。


塊作用域告訴我們,只能在定義它的代碼塊內部訪問變量,嘗試訪問塊外部的變量會給我們提供ReferenceError。


for(let i = 0; i < 10; i++){

 //something

}

print(i) // ReferenceError: i is not defined

函數作用域告訴我們,只能在定義其的函數內部訪問變量。


for(var i = 0; i < 10; i++){

 //something

}

console.log(i) // 10

let 和 const 都是塊范圍的。


不使用模板字面值

手動將字符串連接在一起相當麻煩,而且輸入時可能會造成混淆。這是一個例子:


// 不推薦

function printStartAndEndDate({ startDate, endDate }) {

 console.log('StartDate:' + startDate + ',EndDate:' + endDate)

}

模板文字為我們提供了一種可讀且簡潔的語法,該語法支持字符串插值。


// 推薦

function printStartAndEndDate({ startDate, endDate }) {

 console.log(`StartDate: ${startDate}, EndDate: ${endDate}`)

}

模板文字也提供了嵌入新行的簡便方法,你所需要做的就是照常按鍵盤上的Enter鍵。


// 兩行打印

function printStartAndEndDate({ startDate, endDate }) {

 console.log(`StartDate: ${startDate}

 EndDate: ${endDate}`)

}

藍藍設計m.sdgs6788.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務

日歷

鏈接

個人資料

藍藍設計的小編 http://m.sdgs6788.com

存檔

嫩草影院久久99_老司机午夜网站国内精品久久久久久久久_久久夜色精品国产_国产一级做a爰片久久毛片
<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • 日韩系列欧美系列| 欧美在线精品一区| 美国十次成人| 欧美77777| 欧美深夜福利| 亚洲毛片在线| 亚洲欧美日韩成人高清在线一区| 欧美视频一二三区| 麻豆成人在线观看| 欧美高清在线一区| 一本大道av伊人久久综合| 一区二区三区导航| 国产精品视频一二三| 午夜影院日韩| 亚洲高清不卡在线观看| 亚洲日本中文字幕区| 亚洲自拍偷拍福利| 国产综合激情| 欧美美女bbbb| 久久视频精品在线| 99精品热6080yy久久| 一区二区欧美精品| 欧美黄色一级视频| 久久爱www久久做| 日韩一二三区视频| 亚洲欧美精品在线观看| 香蕉免费一区二区三区在线观看| 亚洲激情视频在线| 欧美私人啪啪vps| 国产综合色在线视频区| 99精品久久免费看蜜臀剧情介绍| 亚洲在线电影| 美女爽到呻吟久久久久| 久久国产精品第一页| 久久人人97超碰人人澡爱香蕉| 一区二区三区精品视频在线观看| 亚洲欧美国产日韩中文字幕| 久久久久久久久久久久久9999| 欧美在线免费播放| 亚洲电影欧美电影有声小说| 99re热这里只有精品免费视频| 亚洲经典在线| 一区二区成人精品| 久久久久久久性| 欧美一区二区三区男人的天堂| 日韩一区二区免费高清| 久久久久国产精品厨房| 国产精品日韩在线播放| 亚洲日本va午夜在线电影| 亚洲裸体在线观看| 最近看过的日韩成人| 久久黄金**| 久久精品国产99精品国产亚洲性色| 亚洲电影在线| 欧美在线视频全部完| 国产美女一区| 在线观看国产日韩| 极品尤物av久久免费看| 国产一区二区观看| 国产亚洲一区二区三区| 亚洲一区中文| 日韩一级在线观看| 欧美日韩p片| 欧美日本一区二区视频在线观看| 韩国一区二区在线观看| 艳女tv在线观看国产一区| 一本色道久久综合狠狠躁篇的优点| 久久人人爽人人爽| 亚洲一区在线观看视频 | 国产精品久久9| 国产精品午夜电影| 一区二区不卡在线视频 午夜欧美不卡'| 免费观看成人网| 久久影音先锋| 欧美日韩日日骚| 国产精品午夜久久| 亚洲在线视频| 亚洲一区二区三区中文字幕| 国产精品video| **网站欧美大片在线观看| 一本色道久久综合亚洲精品按摩 | 欧美一区二区黄色| 久久亚洲免费| 亚洲三级免费电影| 99国产精品久久久久久久成人热 | 欧美一级网站| 黄色av日韩| 欧美成人免费在线| 亚洲视频一区在线观看| 久久狠狠婷婷| 国产精品国产a级| 欧美一区2区视频在线观看| 香蕉视频成人在线观看| 经典三级久久| 日韩小视频在线观看专区| 国产女主播视频一区二区| 亚洲视频在线观看三级| 美女成人午夜| 欧美日韩高清在线观看| 欧美一区2区三区4区公司二百| 欧美一进一出视频| 一区二区免费在线播放| 亚洲欧美日韩精品久久| 欧美午夜片欧美片在线观看| 欧美一区二区免费视频| 麻豆乱码国产一区二区三区| 亚洲天堂激情| 免费在线观看一区二区| 国内精品视频在线播放| 亚洲高清视频中文字幕| 国产精品男人爽免费视频1 | 在线观看视频一区二区欧美日韩| 欧美风情在线| 国产视频精品免费播放| 久久av一区二区三区漫画| 开心色5月久久精品| 午夜欧美大片免费观看| 在线一区二区三区做爰视频网站 | 葵司免费一区二区三区四区五区| 一区二区欧美日韩视频| 久久久久久69| 午夜久久久久久| 欧美jizz19性欧美| 老司机午夜免费精品视频| 久久久久久尹人网香蕉| 亚洲自拍电影| 欧美国产国产综合| 久久久人成影片一区二区三区观看 | 亚洲精品国产品国语在线app| 午夜天堂精品久久久久| 亚洲自拍啪啪| 欧美亚洲成人网| 亚洲精品色婷婷福利天堂| 亚洲国产美女| 久久国产精品久久久| 久久成人精品无人区| 国产伦精品一区二区三区高清版 | 日韩午夜激情| 亚洲卡通欧美制服中文| 欧美成人中文字幕在线| 亚洲一区二区在线看| 欧美精品激情| 亚洲一区www| 午夜激情综合网| 欧美亚洲三级| 国产精品日韩欧美一区| 一本色道久久综合狠狠躁篇的优点| 亚洲乱码国产乱码精品精天堂| 免费看的黄色欧美网站| 欧美激情按摩在线| 日韩一级黄色片| 国产精品福利网| 午夜精品免费在线| 久久在线免费观看视频| 在线精品视频免费观看| 欧美不卡视频一区发布| 亚洲精品一级| 午夜欧美大片免费观看| 韩国av一区二区| 免费欧美日韩| 日韩午夜三级在线| 久久精品国产成人| 在线精品视频免费观看| 欧美日韩免费网站| 亚洲欧美国产va在线影院| 亚洲国产精品悠悠久久琪琪| 亚洲精品色婷婷福利天堂| 亚洲私人影吧| 国产日韩欧美制服另类| 久久久噜噜噜久久| 亚洲免费观看在线观看| 久久xxxx精品视频| 最新成人av网站| 国产精品二区三区四区| 久久精品国产免费| 亚洲人成在线播放| 性18欧美另类| 亚洲精品中文在线| 国产伪娘ts一区| 欧美日本在线看| 欧美在线不卡| 亚洲人成欧美中文字幕| 欧美在线亚洲一区| 亚洲另类春色国产| 国产一区二区三区成人欧美日韩在线观看| 美女国产精品| 亚洲欧美日韩在线一区| 91久久久久久| 美女免费视频一区| 欧美在线网站| 中日韩在线视频| 1024亚洲| 国产性天天综合网| 欧美三级精品| 欧美国产日韩二区| 久久精品亚洲一区二区| 久久偷看各类wc女厕嘘嘘偷窃| 99精品视频免费| 激情成人综合| 国产女主播一区|