以下は、JavaScript デザイン パターンのオブジェクト ファクトリ関数とコンストラクターに関する知識を共有するための詳細なテキスト説明とコード分析です。
概要 オブジェクト リテラルを使用するか、空のオブジェクトに新しいメンバーを動的に追加するのが、オブジェクトを作成する最も簡単な方法です。ただし、オブジェクト作成によく使用されるこれら 2 つのメソッドに加えて、JavaScript にはオブジェクトを作成するための他のメソッドも用意されています。 1).ファクトリ関数を使用してオブジェクトを作成します。この関数の機能は、オブジェクトを作成して変換することです。
概要
オブジェクト リテラルを使用するか、空のオブジェクトに新しいメンバーを動的に追加するのが、オブジェクトを作成する最も簡単な方法です。
ただし、オブジェクト作成によく使用されるこれら 2 つのメソッドに加えて、JavaScript にはオブジェクトを作成するための他のメソッドも用意されています。
1) ファクトリ関数を使用してオブジェクトを作成します
オブジェクトを作成する機能を持つ関数を作成できます。これは「オブジェクト ファクトリ メソッド」と呼ばれます。
にメンバーを追加します。 c). new キーワードを使用してオブジェクト コンストラクター を呼び出します。
コードをコピーします
コンストラクターは実際には関数です。違いは、それを呼び出すときに「new」キーワードを追加する必要があることです。このキーワードが追加されていない場合、その呼び出しは通常の関数呼び出しとみなされます。
//通常の関数によって呼び出されるコンストラクターとして、これを通じて属性が追加されます
関数 人 (名前) {
コンストラクターによって実行される作業
1. 新しいオブジェクトを作成します
2. コンストラクターの this に新しく作成したオブジェクト
を参照させます
3. コンストラクターでコードを実行します。これにより、通常は新しいオブジェクト
にプロパティを追加する作業が完了します。
4. 新しく作成したオブジェクト参照を外部に返します。
オブジェクト コンストラクターとオブジェクト ファクトリ メソッドの違い
1. オブジェクト コンストラクターには明示的なオブジェクト作成コードがありません
2. 新しいオブジェクトが持つ必要がある属性とメソッドは、この参照を通じて追加されます。
3. オブジェクト コンストラクター
に return ステートメントがありません。
通常、オブジェクト コンストラクターの最初の文字は、通常の関数と区別するために大文字に設定されます。
オブジェクト
a) オブジェクト ファクトリ関数を使用してオブジェクトを作成し、各オブジェクトのコンストラクター プロパティは Object()
を参照します。
コンストラクター属性は Object() 関数を参照します
console.info(person1.constructor === オブジェクト);
b). オブジェクト コンストラクターを使用してオブジェクトを作成し、各オブジェクトのコンストラクター属性はこのコンストラクター を参照します。
つまり、arguments.callee を直接使用できます
{
//発信者が新規追加を忘れた場合は、新規追加して再度呼び出してください
}
this.prop = 値
}
//テスト
var obj1 = 新しい MyObject(100);
console.info(obj1.prop);//100
var obj2 = MyObject(200);
console.info(obj2.prop) //200