1

どちらが速いか、

  1. XMLHTTP Get リクエストを使用し、reponsetext に eval() を使用するよりも

  2. JSONP 手法を使用してスクリプトをロードし、スクリプトの innerHtml を評価します。

  3. javascriptオブジェクトが変数に割り当てられているドキュメントのヘッドにscriptタグを動的に追加しますか?

私の直感では、これはオプション 3 である必要がありますが、eval が script タグの使用とどのように比較されるかはわかりません。何かご意見は?

4

3 に答える 3

1

ブラウザやその他の要因によって異なる可能性があるため、本当に最高のパフォーマンスが必要な場合は、いくつかのテストを行ってプロファイルする必要があると思います. 1 つには、eval() のパフォーマンスは、何を eval() しているかによって大きく異なる可能性があります。

于 2009-05-08T22:00:38.047 に答える
0

JSON2ライブラリを使用してjsonデータを解析する必要があります.JSON2ライブラリを使用するのeval安全ではなく(使用evalすると、多数の潜在的なサイトエクスプロイトが発生する可能性があります)、低速であり(特に新しいJitting JSエンジンでは)、最後に(さらに重要なことに)JSON JSON2 ライブラリによって提供されるオブジェクトは、ecma スクリプト (javascript など) 標準の一部になりつつあります。これは、ブラウザーが json 解析 (および文字列化) をネイティブに実装するようになり、パフォーマンスが大幅に向上することを意味します。

幸いなことに、JSON2 ライブラリを使用すると、JSON オブジェクトのネイティブ実装の存在が検出され、オーバーライドされないため、任意に使用するだけで安全な実装が得られ、ブラウザーのサポートが向上するにつれて魔法のように高速になります。

于 2009-05-09T00:09:54.880 に答える