次に、オブジェクトのプロパティとメソッドを追加、変更、または削除する方法を紹介します。他の言語では、オブジェクトが生成されると変更できません。変更されたメンバーをオブジェクトに追加するには、対応するクラスでオブジェクトを変更して再インスタンス化し、プログラムを再コンパイルする必要があります。これは、オブジェクトの動作を変更する柔軟なメカニズムを提供し、プロパティとメソッドを動的に追加、変更、削除できる JavaScript には当てはまりません。たとえば、まず Object クラスを使用して空のオブジェクト user を作成します:
var user=new Object();
1.属性の追加
現時点では、ユーザー オブジェクトには属性やメソッドがありませんが、明らかに役に立ちません。ただし、次のように属性とメソッドを動的に追加できます。上記のステートメントでは、ユーザー オブジェクトには名前、年齢、性別という 3 つの属性があります。以下の 3 つのステートメントを出力します。
alert(user.name);
alert(user.sex);
3 つの属性は完全にユーザー オブジェクトに属します。
2.メソッドの追加
メソッドを追加するプロセスは属性と似ています:
alert(“my name is:” this.name);}
これにより、ユーザー オブジェクトにメソッド「alert」が追加されます。これを実行すると、ダイアログ ボックスが表示され、名前の紹介が表示されます: user.alert();
3.属性の変更
属性を変更するプロセスでは、古い属性を新しい属性に置き換えます。例:
user.alert=function(){ alert("hello," this.name);
}これは、ユーザー オブジェクトの name 属性の値とアラート メソッドを変更し、「my name is」の表示から「」の表示に変更します。こんにちは"。
4.属性の削除
属性を削除するプロセスも非常に簡単で、属性を未定義に設定します。
user.alert=unknown;これ名前の削除方法のプロパティとアラート メソッド。コードの後半では、これらのプロパティは使用できなくなります。
属性を追加、変更、または削除するときは、参照属性と同様に角括弧 ([]) 構文を使用することもできます: user[“name”]=”tom”;
このメソッドを使用すると、追加の特徴は、識別子以外の文字列を属性名として使用できることです。たとえば、
では識別子を数字やスペースで始めることはできませんが、角括弧 ([]) 構文で使用できます。
user[” my name”]=”tom”;
この非識別子を name 属性として使用する場合、引用するには角かっこ構文を使用する必要があることに注意してください。
alert(user[”my name” ]);
ですが、次のように記述することはできません:
alert(user.my name);
オブジェクトのこのプロパティを使用すると、単純なハッシュ テーブルを実装することも簡単になります。この本では、その内容について説明します。申し込みは後ほど。 JavaScript のすべてのオブジェクトは動的に可変であることがわかり、これがプログラミングに大きな柔軟性をもたらし、読者はこの特性を理解することができます。