jsオブジェクトの読み取り速度の詳細な例

jsオブジェクトの読み取り速度の詳細な例

1. リテラルとローカル変数へのアクセスは最も高速ですが、配列要素とオブジェクト メンバーへのアクセスは比較的低速です。オブジェクト メンバーにアクセスすると、スコープ チェーンと同様にプロトタイプ チェーンが検索されます。

2. 見つかったメンバーがプロトタイプ チェーン内で深すぎる場合、アクセス速度が遅くなります。

したがって、検索回数とオブジェクト メンバーのネストの深さを最小限に抑えるようにしてください。

 // 2つのオブジェクトメンバー検索を実行する function hasEitherClass(element, className1, className2) {
    element.className === className1 || element.className === className2 を返します。
  }
  //最適化、変数が変更されない場合は、ローカル変数を使用して検索コンテンツを保存できます function hasEitherClass(element, className1, className2) {
    const currentClassName = 要素.className;
    currentClassName === className1 || currentClassName === className2 を返します。
  }

コンテンツ拡張子:

js オブジェクト操作のパフォーマンスの問題

1 文字列が長くなるほど、str+="xxx" を使用するのにかかる時間が大幅に増加します (ほぼ指数関数的に)。

2 オブジェクト配列に 400 個の要素しかない場合、各要素のプロパティとメソッドへのアクセス時間は、プロパティまたはメソッドごとに 1/4 ミリ秒に達します。要素に 10 個の属性がある場合、配列の走査には少なくとも 1 秒かかります。これはひどいことです。

3 ファイルシステム操作、特に書き込み操作は、書き込まれる文字列の長さの 2 乗にほぼ比例します。

4 文字列操作、特に置換、検索、比較を実行するために独自のメソッドを使用しないでください。

正規表現をよく理解していません。カスタム関数を使用する場合、上記の2)で述べたトラバーサルで、

カスタム関数は合計時間の最大 80% を占めます。

これで、js オブジェクトの読み取り速度の詳細な例に関するこの記事は終了です。js オブジェクトの読み取り速度の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • JavaScript事前解析の4つの実装方法の分析
  • js スコープ、スコープチェーン、事前解析
  • JSスコープと事前解析メカニズムの詳細な説明
  • 虫眼鏡ケースのJavaScriptオブジェクト指向実装
  • JavaScript でよく使われる 5 つのオブジェクト
  • JavaScript 事前分析、オブジェクトの詳細

<<:  MySQLの半同期の詳細な説明

>>:  ウェブ開発者はIE7とIE8の共存を懸念している

推薦する

ウェブサイトのコードブロックのpreタグにコピーコードボタンコードを追加します

他のよりプロフェッショナルなブログ システムを参照すると、コード ブロックにコードのコピー ボタンが...

JavaScript Sandboxについての簡単な説明

序文:サンドボックスといえば、私たちの頭には反射的に上の写真が思い浮かび、すぐに興味がわいてくるかも...

Ubuntu 18.04 (コミュニティ エディション) に Docker CE をインストールする方法

古いバージョンをアンインストールする以前に古いバージョンをインストールしたことがある場合は、まずそれ...

新しい CSS display:box プロパティの詳細な説明

1. ディスプレイボックス;要素にこのプロパティを設定すると、display:inline-bloc...

中国語と英語のフォント名の比較表(FounderとArphicを含む)

CSS ファイルでは、フォント名が文字化けしていることがよくあります。これは、作成者が中国語フォン...

Dockerに関するよくある質問

Docker はポートを IPv6 にのみマッピングし、IPv4 にはマッピングしません。 dock...

MySQL シリーズ 6 のユーザーと認証

目次チュートリアルシリーズ1. ユーザー管理1. ユーザーアカウント2. アカウントの追加と削除3....

Win10でのJDKのインストールと環境変数の設定に関する詳細なチュートリアル

目次序文1. 準備2. インストール3. 環境変数を設定する1. 「新規」をクリックすると、ポップア...

Vue 2.0 の基礎を詳しく解説

目次1. 特徴2. 例3. オプション4. 基本的な文法5. ライフサイクル6. ルーティング管理 ...

JavaScript で Priority Queue を実装する

目次1. 優先キューの紹介2. 優先キューのカプセル化1. 優先キューの紹介通常のキューに要素が挿入...

Apache Superset を使用して ClickHouse データを視覚化する 2 つの方法

Apache Superset は、データを表示および探索する方法を提供する強力な BI ツールで...

MySQL の自己結合重複排除に関する注意事項

機能シナリオを簡単に説明しましょう。データ行フィールドは次のとおりです。名前開始日時タイプこの表では...

Javascriptの基本ループの詳しい説明

目次サイクルのために入室のためのその間しながら行うループから抜け出す要約するサイクルのためにループは...

CSS を使用して要素のスクロールバーを非表示にするサンプルコード

どの要素でもスクロールできるようにしながら、スクロールバーを非表示にするにはどうすればよいでしょうか...