ここで、属性とメソッドをオブジェクトに追加、変更、または削除する方法を紹介します。他の言語では、オブジェクトを生成すると、メンバーが対応するクラスと再インストタンスで変更を変更する必要があり、プログラムを再結合する必要があります。これは、JavaScriptの場合ではありません。オブジェクトの動作を変更するための柔軟なメカニズムを提供します。たとえば、最初にクラスオブジェクトを使用して、空のオブジェクトユーザーを作成します。
var user = new object();
1。属性を追加します
現時点では、ユーザーオブジェクトには属性とメソッドがありませんでしたが、明らかに役に立ちませんでした。ただし、次のような属性やメソッドを動的に追加できます。
user.name = "jack";
user.age = 21;
user.sex = "MALE";
上記のステートメントを通じて、ユーザーオブジェクトには、名前、年齢、性別の3つの属性があります。次の3つのステートメントが出力されます。
alert(user.name);
Alert(user.age);
Alert(user.sex);
コードの操作効果から、3つの属性がユーザーオブジェクトに完全に属していることがわかります。
2。追加の方法
メソッドを追加するプロセスは、属性に似ています。
user.alert = function(){
alert( "私の名前は:"+this.name);
}
これにより、ユーザーオブジェクトに「アラート」を追加します。ダイアログボックスをポップして、次のように表示できます。
user.alert();
3。変更属性
属性を変更するプロセスは、古い属性を次のような新しい属性に置き換えることです。
user.name = "tom";
user.alert = function(){
alert( "hello"+this.name);
}
このようにして、ユーザーオブジェクト名属性の値とアラート方法が変更され、「私の名前が「hello」を表示する」を表示することから変更されました。
4。属性を削除します
属性を削除するプロセスも非常に単純です。つまり、未定義に設定します。
user.name = undefined;
user.alert = undefined;
これにより、名前属性とアラートメソッドが削除されます。後続のコードでは、これらの属性は利用できません。
追加、変更、または削除された属性を追加、または削除する場合、参照属性と同じように、Square Bracket([])Syntaxで使用することもできます。
user ["name"] = "tom";
また、この方法を使用することの特性もあります。つまり、非標準文字列を属性名として使用できます。
識別子は数字またはスペースから始めることは許可されていませんが、正方形のブラケット([])の構文で使用できます。
user ["my name"] = "tom";
この非Identifierを属性として名前として使用する場合、四角いブラケット構文で引用する必要があることに注意する必要があります。
Alert(user ["my name"];
書くことはできません:
alert(user.my name);
オブジェクトのこの性質を使用すると、本の後に見られるシンプルなハッシュテーブルを簡単に実現できます。 JavaScriptの各オブジェクトは動的で変数であり、プログラミングに大きな柔軟性をもたらし、他の言語と大きな違いを生み出します。