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

推薦する

Maxwell を使用して MySQL データをリアルタイムで同期する方法

目次マクスウェルについてMaxwellの設定と使用1. Maxwellインストールパッケージをダウン...

JSでES6クラスの使い方をすぐにマスター

1. どのように構築しますか? es5 でクラスを構築する一般的な方法を確認しましょう。まず、es5...

ElementUIはドロップダウンオプションと複数選択ボックスのサンプルコードを実装します

目次ドロップダウン複数選択ボックスアップグレード - すべてのオプションを追加改訂と改善を求める製品...

Linux での一般的なシェル スクリプト コマンドと関連知識

目次1. 覚えておくべき知識1. 変数タイプ2. シェル変数の説明3. シングルクォート、ダブルクォ...

Linux サーバーに Java Web プロジェクトをデプロイするための完全なチュートリアル

この記事は主にインターネット上の他のチュートリアルを参考にしています。実際に操作した上でのまとめです...

HTML ではスペースはどのように表現されますか (どのような意味ですか)?

Web 開発では、次のような文字によく遭遇します: &nbsp;これは実際には HTML が...

MySQL 5.7.17 のインストールと設定方法のグラフィック チュートリアル (Windows)

1. ソフトウェアをダウンロードする1. MySQL の公式サイトにアクセスし、Oracle アカ...

Linuxのseqコマンドを使用して数字のシーケンスを生成します(推奨)

Linux の seq コマンドは、数字のリストを非常に高速に生成でき、使いやすく柔軟性に優れてい...

HTML にオーディオファイルを挿入してブラウザで再生する場合の互換性の問題

HTML にオーディオ ファイルを挿入した後 (mp3 ファイルを再生した後) に発生したいくつかの...

Vueはボトムクエリ関数を実装します

この記事では、ボトムクエリ機能を実装するためのVueの具体的なコードを例として紹介します。具体的な内...

CSS の両端揃えを実現する div+css レイアウトの 4 つの方法の概要

2 端揃えを実現する div+css レイアウトは、Web ページの組版でよく使用されます。この記事...

Web2.0製品と機能の簡単な紹介

<br />Web2.0とは何ですか? Web2.0にはソーシャルネットワーク製品とその...

Linux+ApacheサーバURLの大文字と小文字の区別の問題を解決する

今日、問題が発生しました。ブラウザのアドレスバーにURLアドレスを入力する際、ページを正常にアクセス...

HTML ページジャンプのパラメータ渡しの問題

効果は以下のとおりです。ページジャンプボタンをクリックした後 対応する値はページ b で取得できます...

Bootstrap 3.0 学習ノート グリッドシステム事例

序文前回の記事では、主にグリッドシステムの基本原理を学び、簡単なケースを通してその原理を実践しました...