整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          JavaScript代碼壓縮的功效與作用

          JavaScript代碼壓縮的功效與作用

          avaScript代碼壓縮的功效與作用

          JavaScript代碼壓縮可實現3大功能:減小體積、優化邏輯、提升執行效率

          專業的JavaScript代碼壓縮,絕不僅僅是去除回車使代碼擠到一行,而是用真正的技術減小代碼體積、提升代碼性能。

          下面,以JShaman的JavaScript代碼壓縮功能為例,以說明JavaScript壓縮具體能對代碼進行哪些優化。

          去除未使用的函數、變量

          例:

          壓縮前的代碼:
          function fun_one(){ console.log(var_one); } function fun_two(){ console.log(var_one); } fun_one();
          壓縮后:
          function fun_one() { console.log(var_one); } fun_one();

          壓縮前的代碼:

          var var_one=1; var var_two=2; function fun_one(){ console.log(var_one); } fun_one();
          壓縮后:
          var var_one=1; function fun_one() { console.log(var_one); } fun_one();

          如此便省去了無效代碼對空間的占用。

          縮短函數名、變量名

          例,壓縮前的代碼:
          var var_variable_one=1; var var_variable_two=2;
          壓縮后:
          var _0_=1; var _0_2=2;

          例,壓縮前的代碼:
          function fun_get_time(){} function fun_set_time(){}
          壓縮后:
          function _f1_(){} function _f2_(){}

          長的函數名、變量名占用的空間多,變短自然省出了空間。

          代碼邏輯優化

          對功能邏輯進行判斷,去除某些由于邏輯無效而不會被執行的代碼。

          例,壓縮前的代碼:
          if(1==1){ console.log("1=1"); } else { console.log("1!=1"); }

          壓縮后:
          console.log("1=1");

          例,壓縮前的代碼:
          2==2?console.log("2=2"):console.log("2!=2");
          壓縮后:
          console.log("2=2");

          優化了邏輯、去除了無效代碼,代碼執行效率自然可得到提升。

          字符串優化

          例,壓縮前的代碼:
          var four_one=4; var four_two; var four_three="this is four_three"; four_two=5; console.log(four_one,four_two,four_three,four_three);
          壓縮后:
          var four_two; var four_three="this is four_three"; four_two=5; console.log(4, four_two, four_three, four_three);

          壓縮前,字符串或常量賦值給變量,后續代碼中使用變量進行各種邏輯處理。

          壓縮后,直接取變量真正內容進行操作,省略了對變量的使用,節省了邏輯開銷。

          何時使用代碼壓縮?

          在實際的編程中,平常不需要壓縮,優化壓縮可能并不利于工作,比如:

          使用有意義的長變量名有助于理解代碼內容,方便維護,而不該使用無意義短變量名;

          條理分明、但可能不必要的條件判斷語言,同樣便于代碼理解,而不該為了短小而省略判斷。

          其它,回注釋、換行、縮進,都是日常編程的正常需要。

          但在發行代碼時,需求可能與此相反,通常而言:

          需要保密性的重要代碼,可進行混淆加密。

          而某些代碼,可能需要考慮性能、大小,以方便高效執行、便于網絡傳輸可以進行代碼壓縮。

          那么,你的JavaScript代碼,是需要混淆加密呢,還是需要壓縮呢?

          Chrome作為目前市場份額最大的瀏覽器,也是我最鐘愛的瀏覽器,當然有其過人之處。作為一個開發人員,對于瀏覽器的控制使用肯定是必不可少的,今天我們一起來看看Chrome瀏覽器的開發者控制臺中幾個常用的小技巧吧。

          Chrome瀏覽器

          元素選擇器

          學習過前端的人肯定也都使用過jQuery,那么對于$運算符肯定不會陌生,這是jQuery提供的元素選擇器,用于快速定位頁面上的HTML元素。

          $的使用并不是只能在JS文件中,在控制臺中同樣可以使用。我們打開Chrome的控制臺(按F12或者鼠標右鍵檢查),在控制臺中輸入$('div'),會發現有如下輸出結果。

          $的使用

          在控制臺下,$()與Javascript中的document.querySelector()返回的是相同的值。$$則表示的是Javascript中的document.querySelectorAll()。

          console對象

          關于console對象的使用技巧,我專門寫了一篇文章,大家可以看下《Javascript調試之console對象,它的一些小技巧你都知道嗎?》。

          清空控制臺

          在控制臺下有個clear console的按鈕,點擊的時候會清空控制臺。

          清空控制臺

          同樣在控制臺中輸入clear(),實際是調用clear方法,也可以清空控制臺。

          讓Chrome中的頁面可編輯

          有的時候我們需要臨時改變頁面上的文字,圖案等信息,一種常見的方法是打開Elememts,然后在修改頁面的源碼,這種做法比較麻煩。如果需要修改多處,需要頻繁的修改源碼。

          而通過Chrome的控制臺Console中,只需要下面一句簡單的代碼就可以使得整個頁面變得可編輯。

          變成可編輯的代碼

          實際的效果圖如下所示。

          可編輯的效果

          格式化代碼

          在Chrome控制臺的Source面板下,我們可以查看到頁面的源文件,包括js,css,img等。但是有些網站經常會將js或者css文件進行壓縮,對開發人員來說不友好,如果想要查看的話通過點擊一個按鈕,就可以輕松實現代碼格式化。

          快捷格式化代碼

          打開控制臺命令菜單

          通過F12打開的命令行并不能包含全部的菜單,在Mac下通過快捷鍵Cmd + Shift + P,在Windows,Linux下通過Ctrl + Shift + P,可以打開所有的菜單選項,然后點擊選擇快速進入到對應的菜單中。

          控制臺菜單快捷鍵

          結束語

          Chrome瀏覽器的控制臺功能還遠不止這些,還需要大家慢慢去發現,這里只是記錄了些簡單的功能,希望對大家有用。

          avaScript 代碼壓縮是指去除源代碼里的所有不必要的字符,而不改變其功能的過程。這些不必要的字符通常包括空格字符,換行字符,注釋以及塊分隔符等用來增加可讀性的代碼,但并不需要它來執行。

          在這篇文章中,我們選擇了15個最好用的 JavaScript 壓縮工具,有簡單的在線轉換器,GUI工具和命令行界面等。

          1. JavaScript Minifier

          它是一個很好的工具,帶有API來縮小js代碼。

          2. JSMIni

          如果您想快速輕松地縮小JavaScript或jQuery文件,請使用jsMini。只需復制和粘貼源代碼,選擇要基本壓縮還是完全壓縮,然后縮小代碼。

          3. JSCompress

          JSCompress.com是一個在線javascript壓縮器,允許您壓縮和縮小javascript文件。壓縮的javascript文件是生產環境的理想選擇,因為它們通常會將文件的大小減少30-90%。大多數文件大小的減少是通過刪除Web瀏覽器或訪問者不需要的注釋和額外的空白字符來實現的。

          4. Minifier

          一個簡化CSS/JS的簡單工具,沒有大的設置。它將CSS中的URL從原來的位置重新工作到輸出位置。它會自動解析CSS中的@import語句。

          5. Gulp.js

          js是流構建系統。它使用流和代碼對配置,使一個更簡單和更直觀的構建。通過更喜歡代碼而不是配置,GUMP使簡單的事情變得簡單,并使復雜的任務易于管理。通過利用節點流的強大功能,您可以獲得不將中間文件寫入磁盤的快速構建。GUP的嚴格插件指南確保插件保持簡單,并按您預期的方式工作。

          6. Uglifyjs

          這個包實現了一個通用的JavaScript解析器/壓縮器/美化工具包。它是在NodeJS上開發的,但是它應該在任何支持CommonJS模塊系統的JavaScript平臺上工作(如果您選擇的平臺不支持CommonJS,那么您可以很容易地實現它,或者放棄導出。

          7. Grunt

          grunt是一個用于JavaScript項目的基于任務的命令行構建工具。它有以下可以在項目中使用的預定義任務:連接文件、使用JSHint驗證文件、使用UGIFIFYJS執行minify文件、使用節點單元運行單元測試等等。

          8. Koala

          koala是一個GUI應用程序,用于Less、Sass、Compass和CoffeeScript編譯,以幫助Web開發人員更有效地使用它們。考拉可以在Windows、Linux和Mac上運行。

          9. Prepros

          PreProfessional是一個用于編譯更少的工具,Sass、Compass、Stylus、Jade以及更多的帶有自動CSS前綴的工具,它帶有內置的服務器,用于跨瀏覽器測試。它運行在Windows、Mac和Linux上。

          10. Ajax Minifier

          此工具是一個Windows應用程序,允許您在不使用命令行或VisualStudio的情況下運行MicrosoftAjaxMinifier。它縮小了文件夾和嵌套文件夾中的所有javascript文件,縮小了單個javascript文件,啟用/禁用了小型程序的超壓縮和分析選項等等。

          11. Smaller

          更小的是一個強大的HTML,CSS和JavaScript壓縮器在OSX上,它也有能力將多個文件組合成一個。壓縮您的文件,使您的網站加載更快。

          12. Ultra Minifier

          超迷你是最簡單的YUI壓縮機GUI,以縮小Javascript和CSS代碼,而不使用終端。

          13. Require JS

          RequireJS是一個JavaScript文件和模塊加載器。它是為瀏覽器內使用而優化的,但它可以用于其他JavaScript環境,如Rhino和Node。使用像RequireJS這樣的模塊化腳本加載程序將提高代碼的速度和質量。它包括一個優化工具,可以作為部署代碼的打包步驟的一部分運行。優化工具可以組合和縮小JavaScript文件,以實現更好的性能。

          14. Online JavaScript/CSS Compressor

          這是一個用于壓縮JavaScript或CSS的Web接口。該工具使用UgulifyJS 2、Clean-CSS和HTML縮略符.

          15. Minify

          minify是一個PHP 5應用程序,它可以幫助你遵循雅虎的一些高性能網站規則,它結合了多個css或Javascript文件,刪除了不必要的空白和注釋,并為它們提供gzip編碼和最佳客戶端緩存頭。


          主站蜘蛛池模板: 麻豆果冻传媒2021精品传媒一区下载| 蜜臀AV无码一区二区三区| 加勒比精品久久一区二区三区| 国产福利电影一区二区三区,亚洲国模精品一区 | 亚洲国产成人精品无码一区二区 | 欧洲精品无码一区二区三区在线播放 | 久久久国产精品无码一区二区三区| 国产一区二区三区高清视频| 一区二区三区四区电影视频在线观看| 欧美日韩综合一区二区三区| 国产成人精品无码一区二区三区 | 国99精品无码一区二区三区| 亚洲国产成人精品久久久国产成人一区二区三区综 | 搡老熟女老女人一区二区| 日韩人妻无码一区二区三区 | 视频在线观看一区| 日本一区二区三区四区视频| 精品人妻少妇一区二区三区不卡 | 久久亚洲国产精品一区二区 | 在线观看精品视频一区二区三区| 无码国产精品一区二区免费模式| 变态拳头交视频一区二区| 国产精品 视频一区 二区三区| 无码少妇一区二区浪潮av| 无码精品久久一区二区三区 | 波多野结衣中文字幕一区| 九九无码人妻一区二区三区| 亚洲av成人一区二区三区观看在线| 亚洲视频在线一区二区三区| 亚洲综合一区无码精品| 四虎成人精品一区二区免费网站| 精品国产一区二区三区久久狼| 国产aⅴ一区二区| 国产一区二区在线观看app| 国产一区二区在线视频| 无码国产精品一区二区免费式直播 | 国产视频一区二区在线观看| 亚洲国产精品一区二区九九| 亚洲夜夜欢A∨一区二区三区| 日韩精品中文字幕无码一区 | 亚洲国产精品无码久久一区二区 |