ホームページ ウェブフロントエンド jsチュートリアル JS_javascript スキルに基づいて文字列を効率的に組み立てるいくつかの方法の比較とテスト コード

JS_javascript スキルに基づいて文字列を効率的に組み立てるいくつかの方法の比較とテスト コード

May 16, 2016 pm 06:29 PM
js 効率的

Ajax を使用して情報を送信する場合、XmlHttp を介して POST 送信を完了するために比較的大きな文字列をいくつか組み立てる必要がある場合があります。このような大量の情報を送信するのは上品ではないように思えるかもしれませんが、場合によってはそのような必要に直面しなければならないことがあります。では、JavaScript での文字列の蓄積はどれくらいの速度で行われるのでしょうか?まずは次の実験をしてみましょう。長さ 30000 の文字列を蓄積します。
テスト コード 1 - 所要時間: 14.325 秒

コードをコピー コードは次のとおりです。

var str = "";
for (var i = 0; i str = "xxxxxx";

このコードには 14.325 秒かかり、結果は理想的ではありません。次に、コードを次の形式に変更します:

テスト コード 2 - 所要時間: 0.359 秒
コードをコピー コードは次のとおりです:
var str = "";
for (var i = 0; i var sub = " ";
for (var j = 0; j sub = "xxxxxx";
}
str = sub;
}

このコードには 0.359 秒かかります。結果は同じで、最初に小さな文字列をいくつかアセンブルしてから、より大きな文字列にアセンブルするだけです。このアプローチにより、文字列アセンブリの後の段階でメモリにコピーされるデータの量を効果的に削減できます。この原則を理解した後、テストのために上記のコードをさらに分解することができます。以下のコードは 0.140 秒しかかかりません。

テスト コード 3 - 所要時間: 0.140 秒
コードをコピー コードは次のとおりです。
var strArray = new Array();
for (var i = 0; i var sub = ""; j = 0 ; j sub = "xxxxxx";
strArray.push(sub);
str = String.prototype.concat apply(" ", strArray);


ただし、上記のアプローチは最善ではない可能性があります。送信する必要がある情報が XML 形式である場合 (実際、ほとんどの場合、送信する情報を XML 形式に組み立てることができます)、DOM オブジェクトを使用して組み立てる、より効率的で洗練された方法を見つけることもできます。それは私たちのために文字列です。次の段落では、長さ 950015 の文字列を組み立てるのにわずか 0.890 秒しかかかりません。

DOM オブジェクトを使用して情報を組み立てる - 所要時間: 0.890 秒



コードをコピー
コードは次のとおりです次のように: var xmlDoc; if (browserType == BROWSER_IE) {
xmlDoc = new ActiveXObject("Msxml.DOMDocument");
xmlDoc = document.createElement("DOM");
}
var root = xmlDoc.createElement("root");
for (var i = 0; i var node = xmlDoc.createElement("data");
if (browserType == BROWSER_IE) {
node.text = "xxxxxx"
}
else {
ノード.innerText = "xxxxxx";
root.appendChild(ノード);
var
if (ブラウザタイプ ==) BROWSER_IE) {
str = xmlDoc.xml;
}
else {
str = xmlDoc.innerHTML;
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

推奨: 優れた JS オープンソースの顔検出および認識プロジェクト 推奨: 優れた JS オープンソースの顔検出および認識プロジェクト Apr 03, 2024 am 11:55 AM

顔の検出および認識テクノロジーは、すでに比較的成熟しており、広く使用されているテクノロジーです。現在、最も広く使用されているインターネット アプリケーション言語は JS ですが、Web フロントエンドでの顔検出と認識の実装には、バックエンドの顔認識と比較して利点と欠点があります。利点としては、ネットワーク インタラクションの削減とリアルタイム認識により、ユーザーの待ち時間が大幅に短縮され、ユーザー エクスペリエンスが向上することが挙げられます。欠点としては、モデル サイズによって制限されるため、精度も制限されることが挙げられます。 js を使用して Web 上に顔検出を実装するにはどうすればよいですか? Web 上で顔認識を実装するには、JavaScript、HTML、CSS、WebRTC など、関連するプログラミング言語とテクノロジに精通している必要があります。同時に、関連するコンピューター ビジョンと人工知能テクノロジーを習得する必要もあります。 Web 側の設計により、次の点に注意してください。

Cドライブの空き容量が少なくなっています!効率的な掃除方法5つを公開! Cドライブの空き容量が少なくなっています!効率的な掃除方法5つを公開! Mar 26, 2024 am 08:51 AM

Cドライブの空き容量が少なくなっています!効率的な掃除方法5つを公開!コンピュータを使用する過程で、多くのユーザーは C ドライブの空き容量が不足する状況に遭遇することがありますが、特に大量のファイルを保存またはインストールした後は、C ドライブの空き容量が急速に減少し、パフォーマンスやパフォーマンスに影響を及ぼします。コンピューターの実行速度。現時点では、Cドライブをクリーンアップする必要があります。では、Cドライブを効率的にクリーンアップするにはどうすればよいでしょうか?次に、この記事では、Cドライブの容量不足の問題を簡単に解決できる5つの効率的なクリーニング方法を紹介します。 1. 一時ファイルをクリーンアップする. 一時ファイルは、コンピュータの実行中に生成される一時ファイルです。

C 言語の特徴と利点: C 言語が最も人気のあるプログラミング言語の 1 つである理由は何ですか? C 言語の特徴と利点: C 言語が最も人気のあるプログラミング言語の 1 つである理由は何ですか? Feb 23, 2024 am 08:39 AM

C 言語の特徴と利点: C 言語が最も人気のあるプログラミング言語の 1 つである理由は何ですか? C 言語は汎用の高級プログラミング言語として、多くの独自の機能と利点を備えているため、最も人気のあるプログラミング言語の 1 つとなっています。この記事では、C 言語の特徴と利点、およびさまざまな分野での幅広い用途について説明します。まず、C 言語は構文が簡潔で構造が明確です。他のプログラミング言語と比較して、C 言語の構文は比較的単純で、理解しやすく、学習しやすいです。自然言語の特性を使用して、プログラマーが次のことを実行できるようにします。

Python と C++ の学習コストを比較する: どちらが投資する価値がありますか? Python と C++ の学習コストを比較する: どちらが投資する価値がありますか? Mar 25, 2024 pm 10:24 PM

Python と C++ は 2 つの人気のあるプログラミング言語ですが、それぞれに独自の長所と短所があります。プログラミングを学びたい人にとって、Python と C++ のどちらを学ぶかは重要な決定となることがよくあります。この記事では、Python と C++ の学習コストを調査し、どの言語が時間と労力を費やす価値があるかについて説明します。まずはPythonから始めましょう。 Python は、学習の容易さ、明確なコード、簡潔な構文で知られる高レベルのインタープリタ型プログラミング言語です。 C++、Pythonとの比較

jsとvueの関係 jsとvueの関係 Mar 11, 2024 pm 05:21 PM

js と vue の関係: 1. Web 開発の基礎としての JS、2. フロントエンド フレームワークとしての Vue.js の台頭、3. JS と Vue の補完関係、4. JS と Vue の実用化ビュー。

Golang コーディング手法を効率的に変換するためのガイド Golang コーディング手法を効率的に変換するためのガイド Feb 20, 2024 am 11:09 AM

タイトル: Go 言語エンコーディング変換の効率的な実践ガイド 日常のソフトウェア開発では、テキストを異なるエンコーディングに変換する必要に遭遇することがよくあります。 Go 言語は効率的で最新のプログラミング言語として、豊富な標準ライブラリと組み込み関数を提供しており、テキスト エンコーディングの変換を非常に簡単かつ効率的に実装できます。この記事では、Go 言語でエンコード変換を実行する方法に関する実践的なガイドラインを紹介し、具体的なコード例を示します。 1.UTF-8 エンコーディングと文字列変換 Go 言語では、文字列はデフォルトで UTF-8 エンコーディングを使用します。

JSのAI時代が到来! JSのAI時代が到来! Apr 08, 2024 am 09:10 AM

JS-Torch の概要 JS-Torch は、構文が PyTorch に非常に似ている深層学習 JavaScript ライブラリです。これには、完全に機能するテンソル オブジェクト (追跡された勾配で使用可能)、深層学習レイヤーと関数、および自動微分エンジンが含まれています。 JS-Torch は JavaScript での深層学習の研究に適しており、深層学習の開発を加速するための便利なツールや機能を多数提供します。 Image PyTorch は、Meta の研究チームによって開発および保守されているオープンソースの深層学習フレームワークです。ニューラル ネットワーク モデルを構築およびトレーニングするための豊富なツールとライブラリのセットを提供します。 PyTorch は、シンプル、柔軟、そして使いやすいように設計されており、その動的な計算グラフ機能により、

JS の __proto__ とプロトタイプの違い JS の __proto__ とプロトタイプの違い Feb 19, 2024 pm 01:38 PM

__proto__ とprototypeはJSのプロトタイプに関連する2つの属性で、機能が少し異なります。この記事では、2 つの違いを詳しく紹介して比較し、対応するコード例を示します。まず、それらが何を意味し、何に使用されるのかを理解しましょう。 proto__proto__ は、オブジェクトのプロトタイプを指すオブジェクトの組み込みプロパティです。カスタム オブジェクト、組み込みオブジェクト、関数オブジェクトなど、すべてのオブジェクトには __proto__ 属性があります。 __proto__属による

See all articles