ES5-オブジェクトの拡張メソッド

__proto__ 1.Object新しい方法、Object.createは();、新しいベースオブジェクトにオブジェクトベースのオブジェクト点で別のオブジェクトを作成するために使用され

 VAR OBJ = {名: 'maycpou'、年齢:18}。
        VAR OBJ1 = Object.create(OBJ、{
            性別:{//セックス属性OBJ1ではなく、__proto__上を追加
                値:「M」、属性の値が//セックス
                書き込み可能://セックスの属性を使用すると、プロパティの値を変更obj1.sex =「女性」を使うことができるかどうかである、書き込み可能である真、デフォルトはfalseです
                設定可能:trueの場合、あなたはdeleteobj1.sexを使用することができる場合プロパティは、削除することができるかどうか//セックス、セックスのデフォルトはfalseです削除しました
                列挙:(OBJ1におけるVAR I)のために使用する属性を挙げることができるかどうか//性別、すなわち、真{にconsole.log(I);}横断大人のデフォルトは偽であるかどうかを
            }
        });
 console.log(OBJ1)。
 
新しいメソッド、オブジェクト2.Object。 DefinePropertiesメソッド ();、オブジェクトのプロパティを追加するために使用
  VAR OBJ2 = {firstNameの:「トムとLastName 'ボストン'}。
        Object.defineProperties(OBJ2、{//このメソッドは、オブジェクトに属性を追加するために使用され
            fullName:{//属性名があるのfullName追加
                取得:関数(){// getメソッドは、新しい属性値のfullNameを得るための方法が提供されます
      this.firstName +」「+ this.lastNameを返します。
                }、
                値関数(データ){//呼び出すときに、このメソッドのFullNameプロパティを変更しようとしている、データがののfullNameを変更しようとしている:セット
                    //ときobj2.fullName =「ジャックFOO」;直接のfullNameの特性を変化させ、
                    //このメソッドを呼び出します、データ値はmaycpouです
                    VAR名= data.split(」「);
                    this.firstName =名[0]。
                    this.firstName =名[1]。
                }
            }
        });
        obj2.fullName = 'ジャックFOO';
        console.log(obj2.fullName)。
上記のように表現:VAR OBJ2 = {
  firstNameの:「トム、 
  lastNameの「ボストン」
  fullNameを(){を取得
    this.firstName +」「+ this.lastNameを返します。    
     }
  セットのfullName(日付){
     VAR名= data.split(」「);
               this.firstName =名[0]。
               this.firstName =名[1]。
  }
}

おすすめ

転載: www.cnblogs.com/maycpou/p/12321206.html