Web2.0 テクノロジーの継続的な推進に伴い、クライアント側の処理に JavaScript テクノロジーを使用するアプリケーションがますます増えており、ブラウザーでの JavaScript のパフォーマンスが開発者が直面する最も重要なユーザビリティの問題となっています。この問題は、JavaScript のブロック的な性質によって複雑になります。つまり、ブラウザーが JavaScript コードを実行している間は、同時に他のことを行うことができません。この記事では、JavaScript コードを適切にロードして実行し、ブラウザーでのパフォーマンスを向上させる方法について詳しく説明します。
J2EE プログラミングにおいて、私たちが最もよく使うスクリプト言語は JavaScript です。 JavaScript を使用する場合、通常はパフォーマンスの問題を考慮するため、クエリの JavaScript パフォーマンス最適化方法の毎日の概要をまとめます。
JavaScript を使用すると、文字列の結合の問題がよく発生します。 Java プログラミングを使用しているときに上記の問題が発生した場合、どのように対処すればよいでしょうか。
NX 生徒: 先生、StringBulider または StringBuffer を使用してください
先生: 答えは正しいです。StringBuilder または StringBuffer を使用すると、オブジェクトの作成が多すぎてシステムのパフォーマンスが低下することを回避できます。
さて、本題に戻り、JavaScript を使用する際に上記の問題に対処する方法についての質問に答えてみましょう。
まず、NX の学生がどのように扱われるかを見てみましょう:
<html> <script type="text/javascript"> var string="begin" var date = new Date() var begin = date.getTime() for(var i=0;i<9999999;i++){ string+="abc" } alert(new Date().getTime() - begin) </script> </html>
NX の生徒たちがそれを達成した様子を見て、先生は笑いそうになりました。この種のゴミ実装は本当にあなたの評判を一生損なうでしょう。
先生は笑いながらこう言いました。あなたの実装方法は小学生レベルです。ただのガラクタの束をランダムに組み合わせただけです。そう言った後、SB先生がキーボードでコードを素早くタイプする音が聞こえました。 NX の生徒が反応する前に、教師はすでにコードを完成させていました:
<html> <script type="text/javascript"> var string="begin"; var string01=["begin"]; var date = new Date(); var begin = date.getTime(); for(var i=0;i<55555555;i++){ //string+="abc"; string01.push("abc"); } var result = string01.join(""); alert(new Date().getTime() - begin); </script> </html>
上記のコードの実行を比較すると、教師のコードのパフォーマンスが NX 生徒のコードよりも大幅に優れており、NX 生徒のコードにより IE がクラッシュすることがよくあります。
NX の生徒たちは、コードの実行結果を見てすぐに先生に感心し、謙虚に先生から学び、常に自分自身を向上させようと決心しました...
この物語は終わりを迎えましたが、教師と NX 学生の JavaScript の旅はまだ続きます...