//ファクトリ関数 関数createPerson(氏名、性別){ セックス=セックス==「男性」「女性の」:?セックス//「処理」 {戻ります 名前:名前、 セックス:セックス }。 } VARのP = createPerson( 'ジョン・ドウ'、 'M');
類似したオブジェクトの数で動作しているとき、これは効果的に機能オブジェクトファクトリへの各呼び出しは作成したオブジェクトから独立しているということである重複したコードを作成する必要がありますが、これは欠点があり、継承関係が存在しない、このようなオブジェクト指向のことは明白である減少させることができますプログラミング失われた魂
このように、オブジェクトのコンストラクタが登場しました
//コンストラクタ 関数人(名前、性別){//注:コンストラクタ関数名の最初の文字を大文字にする必要があり、正常な機能を区別するために使用 this.name =名前; this.sex =セックス } VARのP =新しい人( 'ジョン・ドウ'、 'M');
コンストラクタは注意することがいくつかのポイントを持って使用します
1。オブジェクトコンストラクタオブジェクトコンストラクタは、コンストラクタへの参照が作成することです
p.constructor ===人//真
2。内部的に、4つのステップを新しいキーワードを使用した後、新しいキーワードを使用してコンストラクタを呼び出す場合:
- コンストラクタは空のオブジェクトを作成します
- 空のオブジェクトに、この点のコンストラクタ
- 空のプロトタイプコンストラクタにプロトタイプオブジェクト内部オブジェクト点
- コンストラクタが実行された後、戻らない場合は、空のオブジェクトを返します入れ