以前看網(wǎng)上的頁面或者插件,有時去讀別人的js文件看具體的邏輯暖眼,經(jīng)常遇到很頭疼的問題惕耕,別人的js變量都說“O”或者“0”,覺得遇到高手了诫肠,變相加密了司澎。
今天來和大家分享下欺缘,其實對方是對js進行了壓縮,當然不排除有些的確進行了加密挤安。
下面來說說js壓縮的原理:
【1】去掉注釋了
【2】去掉換行符谚殊,空格
【3】變量,函數(shù)名蛤铜,函數(shù)的參數(shù)等簡化
通常深度壓縮JS都必須要做的一步就是盡量地縮短變量名嫩絮,因為一份體積巨大的JS代碼,其中的變量名會占去不少空間围肥。
Javascript有個特性就是不同作用域的變量名可以任意重復
這樣短又大量重復的變量可以讓人索云里霧里不知所云剿干,也變相的起到了加密JS代碼的作用。
原理就在這兒了穆刻,但開始壓縮的時候必須要做到以下幾點:
1.壓縮前的代碼格式要標準置尔。因為去掉換行與空格時,所有語句就變成一行了蛹批,如果你的代碼有瑕疵(比如某行少了個分號)撰洗,那就會導致整個文件報錯。當然腐芍,現(xiàn)在有的壓縮工具已經(jīng)比較智能了差导。
2.備份原文件
3.壓縮很可能不會一次成功,一般要多試猪勇,多改