Home >Web Front-end >JS Tutorial >JavaScript analysis and compression tool JavaScript Analyser_javascript skills
The JSA compression process is divided into two steps
The first step is syntax compression, which is similar to Dojo ShrinkSafe, but safer and more effective.
The second step is text compression, currently using
Compression algorithm of JavaScript Compressor.
(http://dean.edwards.name/packer/ )
These can be set in the settings window.
By default, syntax compression is used first. When the file is larger than 1000 bytes and can still be compressed to 90% of the original size using text compression, text compression is used on the original basis.
The following is a script compression example to demonstrate the JSA syntax compression and optimization functions.
Compressed results (formatted for easy reference):
Compression ratio comparison with other compression tools:
1. JavaScript Compressor(http:// dean.edwards.name/packer/)
Taking his own compression tool code as an example (v2.02), the size after packer compression is 7,428 bytes (comments removed).
And our compression tool can compress to 7,256 bytes
7256 / 7428 = 0.9768443726440496
2.Dojo ShrinkSafe (rough stuff, inefficient and dangerous, it is recommended that original users replace it quickly)
With his own framework source code as an example (v0.4.1):
His own compressed size is 149,518 bytes, but we can reduce it to 81,261 bytes after compression
81261 / 149518 = 0.5434864029748927
Safety Instructions:
1.JavaScript Compressor
Text-based compression, I haven’t looked into the logic in detail, but the possibility of problems with this kind of compression is very low. Our compression tool also uses its compression algorithm, which is used in JSI 1.1 a8 and
No abnormalities were found in the test of its integrated third-party class library. Moreover, the well-known framework JQuery is used, so I believe there will be no problems.
Additional (2007-03-12): Today I discovered that this tool has a bug when parsing JavaScript multi-line string syntax. However, this problem will no longer exist after JSA syntax compression.
2.Dojo ShrinkSafe Danger! ! ! ! !
Replace long local variable names with shorter names. This is an extremely unsafe compression tool. For example:
will be compressed into:
This is obviously wrong. This garbage does not pay attention to some special syntax and dynamics of JavaScript.
The eval function, catch operation, and with statement are not processed in any way.
In comparison, JSA is currently the safest and most effective compression tool I know of.
JSA not only provides code compression function, but also can do formatting and script analysis.
The script analysis function can be used to view script information and find potential problems in the script.
For example, check which functions and variables are declared in the script.
Which external variables are used. etc. . .