最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何讓你的JS代碼更好看易讀

 更新時間:2017年12月01日 16:45:12   投稿:laozhang  
本篇主要給廣大JS程序員介紹了怎么能讓自己寫的JS代碼好看易讀,分析了幾個需要注意的地方和方法,一起來學習下。

作為JS程序員,自己寫的代碼如果好看易讀,不只是自己看起來好看,在別的程序員接手以后,也會是交接工作異常順利。

不要在代碼中留大段注釋掉的代碼

留給git去管理,不然你要git干嘛

// bad

// function add() {
// const a = b + c
// return a
// }

function add() {
 return a + 1000
}

// good
function add() {
 return a + 1000
}

適當?shù)負Q行

// bad
function a() {
 const {
 state_a,
 state_b,
 state_c
 } = this.state
 this.setState({state_a: state_a * 2})
 return 'done'
}

// good
function a() {
 const {
 state_a,
 state_b,
 state_c
 } = this.state

 this.setState({state_a: state_a * 2})

 return 'done'
}

適當?shù)奶砑幼⑨?,但不要瘋狂的添加注?br />

對一段代碼或者一行特別需要注意的代碼注釋

不要瘋狂的注釋,太啰嗦,漂亮的代碼自己會說話

// bad
const a = 'a' // 這是a
const b = 'b' // 這是b
const c = 'c' // 這是c

// good
/**
 * 申明變量
 */
 const a = 'a'
 const b = 'b'
 const c = 'c'

將類似行為、命名的代碼歸類在一起

// bad
function handleClick(arr) {
 const a = 1

 arr.map(e => e + a)

 const b = 2

 return arr.length + b
}

// good
function handleClick(arr) {
 const a = 1
 const b = 2

 arr.map(e => e + a)

 return arr.length + b
}

在不破壞語義性的情況下,'能省則省'

牢記js中函數(shù)是一等公民

但是,如果省略到影響可讀性了,就是失敗的

在可讀性和簡潔性至今必須選一個的話,永遠先選可讀性

function add(a) {
 return a + 1
}

function doSomething() {

}

// bad
arr.map(a => {
 return add(a)
})

setTimeout(() => {
 doSomething()
}, 1000)

// good
arr.map(add)

setTimeout(doSomething, 1000)

箭頭函數(shù)

// bad
const a = (v) => {
 return v + 1
}

// good
const a = v => v + 1


// bad
const b = (v, i) => {
 return {
 v,
 i
 }
}

// good
const b = (v, i) => ({v, i})


// bad
const c = () => {
 return (dispatch) => {
 // doSomething
 }
}

// good
const c = () => dispatch => {
 // doSomething
}

提前對對象取值(寫react的同學一定懂)

// bad
const a = this.props.prop_a + this.props.prop_b

this.props.fun()

// good
const {
 prop_a,
 prop_b,
 fun
} = this.props

const a = prop_a + prop_b

fun()

合理使用各種表達式

// bad
if (cb) {
 cb()
}

// good
cb && cb()


// bad
if (a) {
 return b
} else {
 return c
}

// good
return a ? b : c


// bad
if (a) {
 c = a
} else {
 c = 'default'
}

// good
c = a || 'default'

鏈式調(diào)用寫法

// bad
fetch(url).then(res => {
 return res.json()
}).then(() => {
 // doSomething
}).catch(e => {

})

// good
fetch(url)
 .then(res => {
 return res.json()
 })
 .then(() => {
 // doSomething
 })
 .catch(e => {

 })

保持代碼是縱向發(fā)展的

發(fā)現(xiàn)那些在整個文件中特別'突出'的代碼時,應(yīng)該考慮對他們做換行處理了

// bad
return handleClick(type, key, ref, self, source, props)

// good
return handleClick(
 type,
 key,
 ref,
 self,
 source,
 props
)

// bad
const a = this.props.prop_a === 'hello' ? <di>world</div> : null

// good
const a = this.props.prop_a === 'hello'
 ? <di>world</div>
 : null

相關(guān)文章

  • JavaScript cookie詳解及簡單實例應(yīng)用

    JavaScript cookie詳解及簡單實例應(yīng)用

    這篇文章主要介紹了JavaScript cookie詳解及簡單實例應(yīng)用的相關(guān)資料,這里對js cookie 的介紹及基本屬性和簡單應(yīng)用做了詳解,需要的朋友可以參考下
    2016-12-12
  • Flash對聯(lián)廣告的關(guān)閉按鈕討論

    Flash對聯(lián)廣告的關(guān)閉按鈕討論

    Flash對聯(lián)廣告的關(guān)閉按鈕討論...
    2007-01-01
  • Javascript算符的優(yōu)先級介紹

    Javascript算符的優(yōu)先級介紹

    Javascript算符的優(yōu)先級介紹,需要的朋友可以參考一下
    2013-03-03
  • javaScript知識點總結(jié)(必看篇)

    javaScript知識點總結(jié)(必看篇)

    下面小編就為大家?guī)硪黄猨avaScript知識點總結(jié)(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享 給大家,也給的大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • JS 操作符整理[推薦收藏]

    JS 操作符整理[推薦收藏]

    JS 操作符主要包括算術(shù)運算符,賦值運算符,比較(關(guān)系)運算符,邏輯運算符,串符(連接作用),條件運算符等
    2011-11-11
  • 全面了解JavaScirpt 的垃圾(garbage collection)回收機制

    全面了解JavaScirpt 的垃圾(garbage collection)回收機制

    下面小編就為大家?guī)硪黄媪私釰avaScirpt 的垃圾(garbage collection)回收機制。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • 實例解析JS布爾對象的toString()方法和valueOf()方法

    實例解析JS布爾對象的toString()方法和valueOf()方法

    這篇文章主要介紹了JS的布爾對象的toString()方法和valueOf()方法,是JavaScript入門學習中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-10-10
  • javascript的BOM

    javascript的BOM

    BOM是瀏覽器的窗口對象,提供了很多窗口處理的API。在webapp框架越來越多的情況下,需要我們在同一窗口處理不同頁面、不同的ajax數(shù)據(jù),則需要我們熟悉BOM的內(nèi)容。
    2016-05-05
  • Javascript 讀書筆記索引貼

    Javascript 讀書筆記索引貼

    Javascript 讀書筆記索引貼,方便讀者學習參考。
    2010-01-01
  • javascript 全等號運算符使用說明

    javascript 全等號運算符使用說明

    看到這樣一行代碼 if(typeof item === "string" ) ,看見有3個等號以前從沒這么寫過,可能是我的JS技術(shù)還處于初級的原因吧,我去網(wǎng)上查了一些資料網(wǎng)上說這是全等于符號
    2010-05-05

最新評論

孟州市| 敦煌市| 张掖市| 新乡县| 板桥市| 疏勒县| 金湖县| 白山市| 仪征市| 庄河市| 龙井市| 辽源市| 乌鲁木齐市| 林西县| 五峰| 朔州市| 西吉县| 鹿泉市| 普洱| 易门县| 大新县| 富裕县| 措勤县| 昭平县| 浦城县| 应用必备| 祥云县| 田林县| 太谷县| 胶南市| 南涧| 抚州市| 孙吴县| 水城县| 正定县| 安阳县| 姚安县| 响水县| 兰考县| 文山县| 扶余县|