国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

教你如何寫出優雅的 JavaScript 代碼

lookSomeone / 2657人閱讀

摘要:前言同樣一個功能,可以用很多方法來實現,有時候由于項目時間緊張,導致很多時候只是實現了功能,往往忽視了代碼質量。下面幾種代碼重構方法,以便大家可以寫出更優雅的代碼。

前言

同樣一個功能,可以用很多方法來實現,有時候由于項目時間緊張,導致很多時候只是實現了功能,往往忽視了代碼質量。下面幾種代碼重構方法,以便大家可以寫出更優雅的代碼。

一,提煉函數

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 );
  })
})

//  重構后
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 );
};

二,合并重復的條件片段

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

// 重構后,把重復函數獨立出來
var paging = function( currPage ){
    if ( currPage <= 0 ){
        currPage = 0;
    }else if ( currPage >= totalPage ){
        currPage = totalPage; 
    }
    jump( currPage );
};
  

三,把條件分支語句提煉成函數

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

// 重構后,改成能夠理解的函數
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; 
};

四,合理使用循環
五,提前讓函數退出代替嵌套條件分支

點擊更多

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/88546.html

相關文章

  • javascript知識點

    摘要:模塊化是隨著前端技術的發展,前端代碼爆炸式增長后,工程化所采取的必然措施。目前模塊化的思想分為和。特別指出,事件不等同于異步,回調也不等同于異步。將會討論安全的類型檢測惰性載入函數凍結對象定時器等話題。 Vue.js 前后端同構方案之準備篇——代碼優化 目前 Vue.js 的火爆不亞于當初的 React,本人對寫代碼有潔癖,代碼也是藝術。此篇是準備篇,工欲善其事,必先利其器。我們先在代...

    Karrdy 評論0 收藏0
  • 教你在不使用框架情況下也能寫出現代化 PHP 代碼

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

    trigkit4 評論0 收藏0
  • vscode一格式化就報錯?各種風格問題各種報錯煩不勝煩,教你如何用好vueeslint風格配置

    摘要:格式化安裝插件如果題主認真讀了的的話,應該可以寫出下面的配置了。用來格式化和提示格式錯誤。在編碼過程中提示格式錯誤,養成良好的編碼習慣。 前言 感覺搭建一個舒服的前端開發環境,十分的重要定制化的格式化,編輯器自帶的格式化各種報錯,手動改真的會死人,因此搭建一個編輯器環境必不可少,現在要講的是vscode中如何定制vue vs code的配置文件: showImg(https://seg...

    Achilles 評論0 收藏0
  • FCC 成都社區·前端周刊 第 9 期

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

    kid143 評論0 收藏0
  • FCC 成都社區·前端周刊 第 9 期

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

    KaltZK 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<