JSファクトリ関数はオブジェクトコンストラクタの理解を持つオブジェクトを作成します

名前が示すように工場の機能は、「処理工場」で関数を作成することです

//ファクトリ関数 
関数createPerson(氏名、性別){ 
    セックス=セックス==「男性」「女性の」:?セックス//「処理」
    {戻ります 
        名前:名前、 
        セックス:セックス 
    }。 
} 

VARのP = createPerson( 'ジョン・ドウ'、 'M');

類似したオブジェクトの数で動作しているとき、これは効果的に機能オブジェクトファクトリへの各呼び出しは作成したオブジェクトから独立しているということである重複したコードを作成する必要がありますが、これは欠点があり、継承関係が存在しない、このようなオブジェクト指向のことは明白である減少させることができますプログラミング失われた魂

 

このように、オブジェクトのコンストラクタが登場しました

//コンストラクタ 
関数人(名前、性別){//注:コンストラクタ関数名の最初の文字を大文字にする必要があり、正常な機能を区別するために使用
    this.name =名前; 
    this.sex =セックス 
} 

VARのP =新しい人( 'ジョン・ドウ'、 'M');

コンストラクタは注意することがいくつかのポイントを持って使用します

 

1。オブジェクトコンストラクタオブジェクトコンストラクタは、コンストラクタへの参照が作成することです

p.constructor ===人//真

 

2。内部的に、4つのステップを新しいキーワードを使用した後、新しいキーワードを使用してコンストラクタを呼び出す場合:

  - コンストラクタは空のオブジェクトを作成します

  - 空のオブジェクトに、この点のコンストラクタ

  - 空のプロトタイプコンストラクタにプロトタイプオブジェクト内部オブジェクト点

  - コンストラクタが実行された後、戻らない場合は、空のオブジェクトを返します入れ

 

3。あなたは、コンストラクタが呼び出された新しいキーワードを使用しない場合は、このウィンドウの時点で通常の関数呼び出しとして扱われ、ノーリターンがない場合は戻りません。

おすすめ

転載: www.cnblogs.com/aukocharlie/p/11351087.html