ホームページ ウェブフロントエンド jsチュートリアル JavaScript 解析および圧縮ツール JavaScript Analyser_javascript スキル

JavaScript 解析および圧縮ツール JavaScript Analyser_javascript スキル

May 16, 2016 pm 04:22 PM
javascript 分析する 圧縮ツール

JSA 圧縮プロセスは 2 つのステップに分かれています

最初のステップは構文圧縮です。これは Dojo ShrinkSafe に似ていますが、より安全で効果的です。

2 番目のステップはテキスト圧縮で、現在は
を使用しています。 JavaScript Compressor の圧縮アルゴリズム。
(http://dean.edwards.name/packer/)

これらは設定ウィンドウで設定できます。
デフォルトでは、ファイルが 1000 バイトを超え、テキスト圧縮を使用して元のサイズの 90% に圧縮できる場合は、最初にテキスト圧縮が使用されます。

以下は、JSA 構文の圧縮および最適化機能を示すスクリプト圧縮の例です。

コードをコピーします コードは次のとおりです:

{
を試してください //xxxx(); }
キャッチ (e) {
yyyy(); 関数 f1() {
}
}
最後に {
zzzz(); }
関数 f2(var1) {
var var2 = 2; var var3 = 3; var withObject = {var2:-2}
with(withObject){
アラート(var2); }
}



圧縮結果 (参照しやすいようにフォーマットされています):


コードをコピーします

コードは次のとおりです: zzzz(); 関数 f2(A) { var var2 = 2; var B = 3; var C = {var2:-2}; (C) { 付き アラート(var2); } }


他の圧縮ツールとの圧縮率の比較:

1. JavaScript コンプレッサー(http://dean.edwards.name/packer/)
彼自身の圧縮ツール コード (v2.02) を例に挙げると、パッカー圧縮後のサイズは 7,428 バイトです (コメントは削除されました)。
弊社の圧縮ツールは 7,256 バイトまで圧縮できます
7256 / 7428 = 0.9768443726440496
2.Dojo ShrinkSafe (粗雑で非効率的で危険なので、元のユーザーはすぐに置き換えることをお勧めします)
彼自身のフレームワークのソースコードを例として挙げます (v0.4.1):
彼自身の圧縮サイズは 149,518 バイトですが、圧縮後は 81,261 バイトに削減できます
81261 / 149518 = 0.5434864029748927

安全上の注意:

1.JavaScript コンプレッサー

テキストベースの圧縮については、ロジックを詳しく調べていませんが、この種の圧縮で問題が発生する可能性は非常に低いです。この圧縮ツールも、JSI 1.1 a8 および JSI 1.1 a8 で使用されている圧縮アルゴリズムを使用しています。
統合されたサードパーティのクラス ライブラリのテストでは異常は見つかりませんでした。また、有名なフレームワークであるJQueryを使用しているので問題ないと思います。

追加 (2007-03-12): 今日、JavaScript の複数行の文字列構文を解析するときに、このツールにバグがあることを発見しました。ただし、JSA 構文圧縮後は、この問題は発生しなくなります。

2.Dojo ShrinkSafe 危険! ! ! ! !

長いローカル変数名を短い名前に置き換えます。これは非常に安全でない圧縮ツールです。例:


コードをコピーします

コードは次のとおりです:

function(){

var withObject = {variable1:1}

var 変数 1 = 2; with(withObject){ アラート(変数1); } } は次のように圧縮されます:




コードをコピーします


コードは次のとおりです:
function(){

var _1={変数1:1}; var _2=2; with(_1){

アラート(_2); }

}

これは明らかに間違っています。このゴミは JavaScript の特殊な構文やダイナミクスに注意を払っていません。 eval 関数、catch 操作、with ステートメントはまったく処理されません。 それに比べて、JSA は現在、私が知る限り最も安全で効果的な圧縮ツールです。 JSAはコード圧縮機能を提供するだけでなく、フォーマットやスクリプト解析も行うことができます。
スクリプト分析機能を使用すると、スクリプト情報を表示し、スクリプト内の潜在的な問題を見つけることができます。
たとえば、スクリプト内で宣言されている関数と変数を確認します。
どの外部変数が使用されるか。等。 。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 Dec 17, 2023 pm 02:54 PM

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー Dec 17, 2023 pm 05:30 PM

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 Dec 17, 2023 pm 05:13 PM

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 Jan 05, 2024 pm 06:08 PM

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

DreamWeaver CMS のセカンダリディレクトリを開けない原因の分析 DreamWeaver CMS のセカンダリディレクトリを開けない原因の分析 Mar 13, 2024 pm 06:24 PM

タイトル: DreamWeaver CMS のセカンダリディレクトリを開けない原因と解決策の分析 Dreamweaver CMS (DedeCMS) は、さまざまな Web サイトの構築に広く使用されている強力なオープンソースのコンテンツ管理システムです。ただし、Web サイトの構築中に、セカンダリ ディレクトリを開けない状況が発生し、Web サイトの通常の動作に問題が発生することがあります。この記事では、セカンダリ ディレクトリを開けない考えられる理由を分析し、この問題を解決するための具体的なコード例を示します。 1. 考えられる原因分析: 疑似静的ルール構成の問題: 使用中

JavaScript で HTTP ステータス コードを簡単に取得する方法 JavaScript で HTTP ステータス コードを簡単に取得する方法 Jan 05, 2024 pm 01:37 PM

JavaScript で HTTP ステータス コードを取得する方法の紹介: フロントエンド開発では、バックエンド インターフェイスとの対話を処理する必要があることが多く、HTTP ステータス コードはその非常に重要な部分です。 HTTP ステータス コードを理解して取得すると、インターフェイスから返されたデータをより適切に処理できるようになります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法と、具体的なコード例を紹介します。 1. HTTP ステータス コードとは何ですか? HTTP ステータス コードとは、ブラウザがサーバーへのリクエストを開始したときに、サービスが

Tencent の主要なプログラミング言語が Go であるかどうかを分析する Tencent の主要なプログラミング言語が Go であるかどうかを分析する Mar 27, 2024 pm 04:21 PM

タイトル: テンセントの主要なプログラミング言語は Go ですか: 詳細な分析 中国の大手テクノロジー企業として、テンセントはプログラミング言語の選択において常に多くの注目を集めてきました。近年、テンセントは主に Go を主要なプログラミング言語として採用していると考える人もいます。この記事では、Tencent の主要なプログラミング言語が Go であるかどうかについて詳細な分析を行い、この見解を裏付ける具体的なコード例を示します。 1. Tencent における Go 言語の適用 Go は、Google によって開発されたオープンソースのプログラミング言語であり、その効率性、同時実行性、シンプルさにより多くの開発者に愛されています。

静的測位技術の長所と短所を分析する 静的測位技術の長所と短所を分析する Jan 18, 2024 am 11:16 AM

静的測位技術の利点と限界の分析 現代の科学技術の発展に伴い、測位技術は私たちの生活に欠かせないものになりました。その 1 つとして、静的測位テクノロジには独自の利点と制限があります。この記事では、静的測位技術の詳細な分析を実施して、現在の応用状況と将来の開発傾向をより深く理解します。まず、静的測位技術の利点を見てみましょう。静的測位技術は、位置決め対象の物体を観察、測定、計算することで位置情報を決定します。他の測位技術と比較して、

See all articles