ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptでオブジェクトを作成する方法_javascriptスキル
オブジェクトとは何ですか?
JavaScript の定義によれば、オブジェクトは順序付けされていないプロパティのコレクションであり、そのプロパティには基本的な値、オブジェクト、または関数を含めることができます。つまり、オブジェクトは、特定の順序ではない属性のセットであり、値はデータまたはオブジェクトのセットである値にマップされます。
最も単純なオブジェクト
JavaScript の中括弧 {} のペアでオブジェクトを定義できます。この記述方法は、実際には Object
この方法で構築されたオブジェクトには、オブジェクトのプロトタイプへのポインターのみが含まれています。valueOf、hasQwnProperty、およびその他のメソッドを使用できますが、カスタム オブジェクトには常にいくつかのカスタム プロパティとメソッドが含まれています。
コードをコピー
コードは次のとおりです。
obj={};
このように、多数のオブジェクトを作成する場合、このメソッドを呼び出すことで繰り返し作業を行うことができます。多くの場合、作成されたオブジェクトのタイプを決定する必要があるためです。上記のコードでは、元の Object オブジェクト インスタンスは一部のプロパティとメソッドのみを拡張しています。
スタイル
JavaScript では関数がオブジェクトになります。これは、オブジェクトを作成するときに、関数を直接オブジェクトとして使用するための特殊な性質にあります。物体としての機能。
1. 関数はパラメータを受け入れ、パラメータに基づいて同じ型および異なる値のオブジェクトを作成できます
2. 関数がコンストラクターとして使用される場合 (new 演算子を通じて呼び出されます)、コンストラクターの基本的な知識は、貧困層および下位中流階級の農民バージョンの jQuery で説明されています。
コンストラクターの戻り値は 2 つの状況に分けられます。関数が return ステートメントを持たない場合、または基本型 (bool、int、string、unknown、null) を返す場合、new によって作成された匿名オブジェクトを返します。これは関数インスタンスです。関数本体が参照型オブジェクト (配列、関数、オブジェクトなど) を返す場合、そのオブジェクトは戻り値として new によって作成された匿名オブジェクトを上書きします。
3. では、関数を使用して型識別の問題を解決するにはどうすればよいでしょうか? 各関数インスタンス オブジェクトにはコンストラクター属性があります (「ある」ではなく、対応することができます)。 instanceof 演算子を使用して、オブジェクトが XXX のインスタンスであるかどうかを判断します。
練習せずに話すだけではなく、
をコーディングしてくださいこれは完璧ですね、いいえ!コンストラクターはオブジェクト固有にすることができますが、メソッドはオブジェクトのすべてのインスタンスで繰り返す必要があります。
2 つのインスタンスの fn はまったく同じですが、同じものではありません。関数オブジェクトに 1,000 個のメソッドがある場合、そのインスタンスのそれぞれにこれらのメソッドのコピーが含まれている必要があり、これは非常に面倒です。思い出は言葉にならない。
これ以上ナンセンスはありません
繰り返しの作業を必要とせず、スタイリッシュで、オブジェクトの一般的なメソッドの繰り返しを必要としない、オブジェクトを構築するほぼ完璧な方法はあるでしょうか? ?実際、関数の使用はすでに要件に近いことがわかります。唯一の違いは、関数オブジェクトのすべてのインスタンスで共有されるコンテナーが必要であるということです。このコンテナーでは、インスタンスが属性とメソッドを共有する必要があります。このコンテナの準備ができたこと - プロトタイプ。プロトタイプを知らない学生は、JavaScript プロトタイプ