成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

教你如何寫(xiě)出優(yōu)雅的 JavaScript 代碼

lookSomeone / 2704人閱讀

摘要:前言同樣一個(gè)功能,可以用很多方法來(lái)實(shí)現(xiàn),有時(shí)候由于項(xiàng)目時(shí)間緊張,導(dǎo)致很多時(shí)候只是實(shí)現(xiàn)了功能,往往忽視了代碼質(zhì)量。下面幾種代碼重構(gòu)方法,以便大家可以寫(xiě)出更優(yōu)雅的代碼。

前言

同樣一個(gè)功能,可以用很多方法來(lái)實(shí)現(xiàn),有時(shí)候由于項(xiàng)目時(shí)間緊張,導(dǎo)致很多時(shí)候只是實(shí)現(xiàn)了功能,往往忽視了代碼質(zhì)量。下面幾種代碼重構(gòu)方法,以便大家可以寫(xiě)出更優(yōu)雅的代碼。

一,提煉函數(shù)

var getUserInfo = function(){
  ajax( "http:// xxx.com/userInfo", function( data ){
      console.log( "userId: " + data.userId );
      console.log( "userName: " + data.userName );
      console.log( "nickName: " + data.nickName );
  })
})

//  重構(gòu)后
var getUserInfo = function(){
  ajax( "http:// xxx.com/userInfo", function( data ){
    printDetails( data ); });
};

var printDetails = function( data ){ 
  console.log( "userId: " + data.userId ); 
  console.log( "userName: " + data.userName ); 
  console.log( "nickName: " + data.nickName );
};

二,合并重復(fù)的條件片段

var paging = function( currPage ){
  if ( currPage <= 0 ){
    currPage = 0;
    jump( currPage );
  }else if ( currPage >= totalPage ){
    currPage = totalPage;
    jump( currPage );
  }else{
    jump( currPage );
  }
}

// 重構(gòu)后,把重復(fù)函數(shù)獨(dú)立出來(lái)
var paging = function( currPage ){
    if ( currPage <= 0 ){
        currPage = 0;
    }else if ( currPage >= totalPage ){
        currPage = totalPage; 
    }
    jump( currPage );
};
  

三,把條件分支語(yǔ)句提煉成函數(shù)

var getPrice = function( price ){
  var date = new Date();
  if ( date.getMonth() >= 6 && date.getMonth() <= 9 ){
    return price * 0.8;
  }
  return price; 
};

// 重構(gòu)后,改成能夠理解的函數(shù)
var isSummer = function(){
  var date = new Date();
  return date.getMonth() >= 6 && date.getMonth() <= 9;
};

var getPrice = function( price ){ 
  if ( isSummer() ){ 
  return price * 0.8;
}
  return price; 
};

四,合理使用循環(huán)
五,提前讓函數(shù)退出代替嵌套條件分支

點(diǎn)擊更多

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/88546.html

相關(guān)文章

  • javascript知識(shí)點(diǎn)

    摘要:模塊化是隨著前端技術(shù)的發(fā)展,前端代碼爆炸式增長(zhǎng)后,工程化所采取的必然措施。目前模塊化的思想分為和。特別指出,事件不等同于異步,回調(diào)也不等同于異步。將會(huì)討論安全的類型檢測(cè)惰性載入函數(shù)凍結(jié)對(duì)象定時(shí)器等話題。 Vue.js 前后端同構(gòu)方案之準(zhǔn)備篇——代碼優(yōu)化 目前 Vue.js 的火爆不亞于當(dāng)初的 React,本人對(duì)寫(xiě)代碼有潔癖,代碼也是藝術(shù)。此篇是準(zhǔn)備篇,工欲善其事,必先利其器。我們先在代...

    Karrdy 評(píng)論0 收藏0
  • 教你在不使用框架情況下也能寫(xiě)出現(xiàn)代化 PHP 代碼

    摘要:畢竟,我們還將在接下來(lái)的開(kāi)發(fā)之旅中使用其他框架開(kāi)發(fā)者編寫(xiě)的輔助包。缺乏行業(yè)標(biāo)準(zhǔn)必然意味著,框架中的這些組件高度耦合。如果你嘗試對(duì)這個(gè)類進(jìn)行單元測(cè)試,會(huì)發(fā)現(xiàn)根本不可行。在做單元測(cè)試的時(shí)候,我們可以很好地模擬數(shù)據(jù)庫(kù)連接,并將其傳入使用。 showImg(https://segmentfault.com/img/remote/1460000014180802); 我為你們準(zhǔn)備了一個(gè)富有挑戰(zhàn)性...

    trigkit4 評(píng)論0 收藏0
  • vscode一格式化就報(bào)錯(cuò)?各種風(fēng)格問(wèn)題各種報(bào)錯(cuò)煩不勝煩,教你如何用好vueeslint風(fēng)格配置

    摘要:格式化安裝插件如果題主認(rèn)真讀了的的話,應(yīng)該可以寫(xiě)出下面的配置了。用來(lái)格式化和提示格式錯(cuò)誤。在編碼過(guò)程中提示格式錯(cuò)誤,養(yǎng)成良好的編碼習(xí)慣。 前言 感覺(jué)搭建一個(gè)舒服的前端開(kāi)發(fā)環(huán)境,十分的重要定制化的格式化,編輯器自帶的格式化各種報(bào)錯(cuò),手動(dòng)改真的會(huì)死人,因此搭建一個(gè)編輯器環(huán)境必不可少,現(xiàn)在要講的是vscode中如何定制vue vs code的配置文件: showImg(https://seg...

    Achilles 評(píng)論0 收藏0
  • FCC 成都社區(qū)·前端周刊 第 9 期

    摘要:詳情行人臉識(shí)別庫(kù)是僅行代碼的人臉識(shí)別庫(kù),最小只有。詳情開(kāi)發(fā)大型應(yīng)用這是根據(jù)上發(fā)表的演講整理的文章,分享了作者在開(kāi)發(fā)大型應(yīng)用后的一些心得。詳情每周一同步更新到歡迎 1. Node.js 10 將帶來(lái)什么? Node.js 10 的第一個(gè)版本將于本周二(4 月 24 日)發(fā)布,并將在 10 月份推出 LTS 版本,將帶來(lái)哪些更新? N-API,持續(xù) HTTP/2 支持,ECMAScript...

    kid143 評(píng)論0 收藏0
  • FCC 成都社區(qū)·前端周刊 第 9 期

    摘要:詳情行人臉識(shí)別庫(kù)是僅行代碼的人臉識(shí)別庫(kù),最小只有。詳情開(kāi)發(fā)大型應(yīng)用這是根據(jù)上發(fā)表的演講整理的文章,分享了作者在開(kāi)發(fā)大型應(yīng)用后的一些心得。詳情每周一同步更新到歡迎 1. Node.js 10 將帶來(lái)什么? Node.js 10 的第一個(gè)版本將于本周二(4 月 24 日)發(fā)布,并將在 10 月份推出 LTS 版本,將帶來(lái)哪些更新? N-API,持續(xù) HTTP/2 支持,ECMAScript...

    KaltZK 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<