評価

王林
王林オリジナル
2023-09-03 23:09:06784ブラウズ

評価

次の点は、この本を読んで (およびコード例を研究して) 学ぶべきことをまとめたものです。各要約を読み、内容が理解できない場合は本のトピックに戻ります。

  • オブジェクトは、値を保存する名前付きプロパティで構成されます。
  • JavaScript のほとんどのものはオブジェクトのように動作します。複雑な値はオブジェクトですが、プリミティブな値はオブジェクトのように扱うことができます。これが、JavaScript のすべてがオブジェクトであるという声を聞くかもしれない理由です。
  • new キーワードまたは短縮リテラル式を使用してコンストラクターを呼び出すことにより、オブジェクトを作成します。
  • コンストラクターはオブジェクト (Function() オブジェクト) であるため、JavaScript ではオブジェクトがオブジェクトを作成します。
  • JavaScript は、9 つ​​のネイティブ コンストラクターを提供します: Object()Array()String()Number()Boolean()Function() Date()RegExp()、および Error()String()Number()、および Boolean() コンストラクターは、a) プリミティブ値と b) 必要な場合のオブジェクト ラッパーを提供するという 2 つの目的を果たします。 、プリミティブ値がオブジェクトのように機能できるようにします。
  • null未定義"string"10trueおよびfalse これらはすべてプリミティブ値であり、オブジェクトのように扱われない限り、オブジェクトのプロパティを持ちません。
  • When>Object()、Array()String()Number()Boolean( )Function()Date ()RegExp() および Error() コンストラクターは を使用します。 new キーワードは、「複合オブジェクト」または「参照オブジェクト」と呼ばれるオブジェクトを作成するために呼び出されます。 李>
  • "string"10true、および false は、オブジェクトとして使用されるまで、生の形式ではオブジェクト プロパティを持ちません。JavaScript次に、値がオブジェクトのように動作できるように、バックグラウンドで一時的なラッパー オブジェクトを作成します。
  • 元の値は値ごとに保存され、コピー時に文字通りコピーされます。一方、複雑なオブジェクト値は参照によって保存され、コピーされる場合は参照によってコピーされます。
  • プリミティブ値は、それらの値が等しい場合に他のプリミティブ値と等しくなりますが、複雑なオブジェクトは同じ値を参照する場合にのみ等しくなります。つまり、1 つの複素数値が同じオブジェクトを参照する場合、2 つの複素数値は他の複素数値と等しくなります。
  • 複雑なオブジェクトと参照の性質により、JavaScript オブジェクトには動的なプロパティがあります。
  • JavaScript は変更可能です。つまり、ネイティブ オブジェクトとユーザー定義のオブジェクト プロパティがいつでも操作できることを意味します。
  • オブジェクトのプロパティの取得/設定/更新は、ドット表記または角括弧表記を使用して行われます。括弧表記は、操作しているオブジェクト プロパティ名が式の形式をとる場合に便利です (たとえば、Array['prototype']['join'].apply())。
  • オブジェクト プロパティを参照する場合、最初にプロパティによって参照されるオブジェクトを調べるためにルックアップ チェーンが使用されます。属性が存在しない場合、その属性はコンストラクター prototype 属性で検索されます。そこに見つからない場合は、プロトタイプがオブジェクト値を保持し、その値が Object() コンストラクターから作成されるため、Object() コンストラクター でこのプロパティを見つけます。プロトタイププロパティ (Object).prototype)。そこにプロパティが見つからない場合、そのプロパティは 未定義 であると判断されます。
  • プロトタイプ ルックアップ チェーンは、JavaScript で継承 (別名プロトタイプ継承) を設計する方法です。
  • オブジェクト プロパティの検索チェーン (別名プロトタイプ継承) により、prototype プロパティ自体が Object()## であるため、すべてのオブジェクトは Object() から継承されます。 # 物体。
  • JavaScript 関数は第一級市民です。関数はプロパティと値を持つオブジェクトです。
  • this キーワードは、関数内で使用される場合、関数を含むオブジェクトを参照する一般的な方法です。
  • this の値は、関数が呼び出されるコンテキストに基づいて実行時に決定されます。
  • グローバル スコープで使用される場合、this キーワードはグローバル オブジェクトを参照します。
  • JavaScript は関数を使用して一意のスコープを作成します。
  • JavaScript はグローバル スコープを提供し、すべての JavaScript コードはこのスコープ内に存在します。
  • 関数 (特にラッパー関数) は、変数ルックアップを解析するためのスコープ チェーンを作成します。
  • スコープ チェーンは、コードの記述方法に基づいて設定されます。必ずしも関数が呼び出されるコンテキストに基づいて設定されるわけではありません。これにより、関数が別のコンテキストから呼び出された場合でも、関数は最初に記述されたスコープにアクセスできるようになります。この結果はクロージャと呼ばれます。
  • var
  • は使用しないでください。 関数式と関数内で宣言された変数は、グローバル プロパティになります。ただし、関数スコープ内の関数ステートメントは、それが記述されたスコープ内で引き続き定義されます。 グローバル スコープで宣言された関数と変数 (
  • var
  • なし) は、グローバル オブジェクトのプロパティになります。 グローバル スコープで宣言された関数と変数 (
  • var
  • を使用) はグローバル変数になります。
  • ###結論は### ###読んでくれてありがとう!

以上が評価の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。