嫩草影院久久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}`)

}

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

日歷

鏈接

個人資料

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

存檔

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

        • 国产日韩欧美在线播放| 美女视频黄a大片欧美| 欧美日本韩国| 欧美在线视频导航| 亚洲人成免费| 久久亚洲风情| 麻豆国产精品va在线观看不卡| 亚洲网址在线| 欧美亚洲网站| 欧美在线高清| 免费观看国产成人| 欧美黄免费看| 亚洲一卡二卡三卡四卡五卡| 亚洲精品视频二区| 亚洲一区日韩| 久久久久久久一区二区| 国产女人aaa级久久久级| 亚洲乱码精品一二三四区日韩在线| 欧美激情女人20p| 一区二区在线视频| 久久久91精品国产| 日韩视频免费观看高清完整版| 亚洲乱码精品一二三四区日韩在线 | 黑人一区二区| 欧美日韩精品综合| 免费日韩精品中文字幕视频在线| 欧美在线观看视频| 欧美国产视频在线观看| 国产精品国产福利国产秒拍| 国产精品日本一区二区 | 亚洲欧洲一区二区三区久久| 欧美激情第9页| 亚洲精选一区二区| 久久成人免费电影| 欧美日韩成人综合天天影院| 国产视频观看一区| 一区二区欧美亚洲| 亚洲人成网站999久久久综合| 亚洲一区国产精品| 欧美日韩精品免费看| 亚洲国产精品第一区二区三区| 西西人体一区二区| 亚洲高清免费在线| 欧美成人一区二区| 亚洲精品日本| 亚洲人妖在线| 亚洲欧美国产制服动漫| 亚洲第一福利社区| 美女脱光内衣内裤视频久久影院 | 亚洲精品乱码| 亚洲精品视频免费在线观看| 另类天堂av| 亚洲视频在线播放| 亚洲精品一级| 国产毛片一区二区| 欧美专区在线观看一区| 久久国产婷婷国产香蕉| 一色屋精品亚洲香蕉网站| 久久亚洲二区| 国产精品嫩草久久久久| 欧美一区在线视频| 蜜臀91精品一区二区三区| 99ri日韩精品视频| 欧美亚洲三区| 夜夜精品视频一区二区| 亚洲综合日韩在线| 亚洲美女黄网| 久久在线播放| 欧美在线观看视频一区二区| 免费成人av| 久久夜色精品国产| 国产精品二区在线| 亚洲精品国久久99热| 午夜久久福利| 欧美激情五月| 国产一区二区三区高清在线观看| 欧美激情一区二区三区蜜桃视频 | 亚洲一区尤物| 亚洲视频在线观看| 免费中文字幕日韩欧美| 久久中文久久字幕| 国产精品久久久久久久久借妻| 亚洲激精日韩激精欧美精品| 国产综合色在线视频区| 亚洲综合国产| 久久岛国电影| 合欧美一区二区三区| 午夜精品久久久久久久蜜桃app| 亚洲视频欧洲视频| 国产精品视频观看| 欧美影院成人| 欧美激情一区在线观看| 亚洲精品在线电影| 欧美极品影院| 亚洲主播在线| 欧美第一黄色网| 亚洲一区欧美一区| 狠色狠色综合久久| 欧美精品二区| 欧美一区精品| 99国产欧美久久久精品| 欧美一区二区久久久| 亚洲第一精品久久忘忧草社区| 欧美日韩大片一区二区三区| 亚洲婷婷综合久久一本伊一区| 久久久久久久久蜜桃| 亚洲视频大全| 亚洲国产精品悠悠久久琪琪| 国产精品videossex久久发布| 久久久久久久尹人综合网亚洲| 亚洲精品一区在线观看| 国产综合网站| 国产精品高潮呻吟久久av无限| 欧美在线观看www| 亚洲砖区区免费| 午夜精彩国产免费不卡不顿大片| 亚洲国产一区在线观看| 你懂的国产精品| 激情一区二区| 国产女主播一区二区三区| 欧美色欧美亚洲另类二区| 欧美激情国产日韩精品一区18| 久久国产66| 久久久久青草大香线综合精品| 久久精品一二三区| 欧美在线视频一区二区三区| 亚洲综合另类| 久久视频在线视频| 欧美国产另类| 国产精品入口福利| 一区二区三区在线看| 亚洲国产精品va在线看黑人| 亚洲精品在线观看免费| 亚洲特级毛片| 久久精视频免费在线久久完整在线看| 欧美自拍偷拍午夜视频| 欧美成人午夜激情| 日韩小视频在线观看专区| 亚洲一区在线免费| 免费在线亚洲| 狠狠色综合网| 午夜精品区一区二区三| 欧美高清一区| 久久av一区| 国产精品久久久久久久app| 好吊色欧美一区二区三区视频| 日韩亚洲欧美一区| 蜜臀久久99精品久久久久久9| 日韩写真在线| 欧美激情亚洲国产| 伊人影院久久| 欧美aⅴ一区二区三区视频| 亚洲欧美激情一区二区| 欧美本精品男人aⅴ天堂| 亚洲美女在线看| 欧美激情视频一区二区三区在线播放| 国产精品免费视频xxxx| 亚洲一二三区精品| 亚洲精品视频中文字幕| 欧美黄色免费| 99日韩精品| 亚洲免费观看在线观看| 欧美剧在线观看| 亚洲午夜日本在线观看| aa级大片欧美三级| 国产精品久久激情| 久久九九热免费视频| 午夜免费电影一区在线观看| 国产精品免费在线| 蜜臀va亚洲va欧美va天堂| 欧美成人中文字幕在线| 亚洲视频网在线直播| 亚洲欧美日韩视频一区| 激情久久久久| 一本到12不卡视频在线dvd| 国产精品入口夜色视频大尺度| 欧美中文字幕久久| 免费在线成人av| 欧美一区综合| 欧美日韩成人一区| 欧美一区二区视频97| 欧美成人黄色小视频| 久久国产99| 国产精品久久久久aaaa| 久久综合久久美利坚合众国| 欧美日韩国产另类不卡| 久久久精品国产免大香伊| 欧美久久成人| 欧美激情一区二区三区| 国产夜色精品一区二区av| 亚洲伦理自拍| 亚洲免费高清| 欧美另类在线播放| 亚洲第一中文字幕| 亚洲国产乱码最新视频| 久久久久久网址| 久久综合给合久久狠狠狠97色69| 国产精品久久999| 中文在线不卡视频| 欧美精品aa|