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の共存を懸念している

推薦する

ServerManager の起動時にデータベースに接続できないエラーを解決する方法

Servermanager 起動時の接続データベース エラーmgrstart.batを実行しますエラ...

高速レイアウトのための CSS ビューポート単位

CSS ビューポート ユニットはここ数年登場しており、時が経つにつれて、ますます多くの開発者が使用し...

Centos8 で Apache httpd2.4.37 を使用して Web サーバーをインストールする詳細な手順

ステップ 1: yum install httpd -y #httpd サービスをインストールします...

LeetCode の SQL 実装 (178. スコアランキング)

[LeetCode] 178.ランクスコアスコアをランク付けする SQL クエリを記述します。2 ...

Linuxにグラフィカルインターフェースをインストールする方法

1. Linuxのインストール(rootユーザー操作) 1. vncserver をインストールしま...

Ubuntu 18でターミナルを美しいコマンドラインプロンプトに変更する方法

VMware と Ubuntu を再インストールしましたが、コマンドラインプロンプトが単調すぎて美し...

Vue ボタンの権限制御の導入

目次1. 手順1. ボタンの権限を定義する2. ストアを定義する3. 権限指示を作成する4. パーミ...

HTML メタタグの小さなコレクション

<Head>……</head> は <HTML> のファイル ヘ...

レスポンシブなアコーディオン効果を実現するための CSS3 の詳細な説明

最近、外国人が CSS3 を使用してアコーディオン効果を実現しているビデオを見たので、自分で学習した...

Vueでタイマーをエレガントにクリアする方法

目次序文最適化派生的な質問: beforeDestroy はトリガーされませんか?序文タイマーをクリ...

フォームで完全な選択または逆選択効果を実現する JavaScript

この記事では、フォームの完全選択または逆選択を実現するためのJavaScriptの具体的なコードを参...

MySQL でローカル ユーザーを作成し、データベース権限を付与する方法の例

序文MySQL をインストールすると、通常はスーパーユーザー root を作成します。多くの人がこの...

dockerでデプロイされたjenkinsでgitプログラムを実行する際の問題について

1. まず、gitを関連付けるときにエラーメッセージが報告されます: エラー: ビルドするリビジョン...

Linuxのテキスト処理コマンドsortの詳細な説明

テキストファイルの内容を並べ替える使用方法: ソート + オプション + ファイル名 (複数のファイ...

MySql インデックスの詳細な紹介と正しい使用方法

MySql インデックスの詳細な紹介と正しい使用方法1. はじめに:インデックスはクエリ速度に重大な...