JS では、オブジェクトの作成 (オブジェクトの作成) は、よく言われるように、正確にはクラス オブジェクトの作成ではありません。JS でのオブジェクトの作成とオブジェクトへのアクセスは非常に柔軟です。
JS オブジェクトは、変数名を使用して保存したりアクセスしたりできる複合型です。別の言い方をすると、オブジェクトは、順序付けされていないプロパティのコレクションであり、名前と値で構成されます。これは奇妙に聞こえませんか? よく聞く HASH テーブル、ディクショナリ、キーと値のペアのようなものですか?)、値の型は組み込み型 (数値、文字列など)、またはオブジェクトである可能性があります。
1. 1 対の中括弧で囲みます。
次のようにコードをコピーします。
var emptyObj = {};
var myObj =
{
'id': 1, //属性名は引用符で囲まれ、属性はカンマで区切られます
'名前': '私の名前'
};
//var m = new myObj(); //サポートされていません
オブジェクトはすべて var を使用して宣言されていることに気づいたでしょうか。上記のコードのように、オブジェクトのコピーは 1 つだけです。上記のコードのように、オブジェクトに対して new 操作を使用することはできません。セクション。これにより、オブジェクトの再利用が大幅に制限されます。作成するオブジェクトのコピーが 1 つだけ必要な場合を除き、他の方法を使用してオブジェクトを作成することを検討してください。
オブジェクトのプロパティとメソッドにアクセスする方法を見てみましょう。
次のようにコードをコピーします。
var myObj =
{
'id': 1、
'楽しい': function() {
document.writeln(this.id + '-' + this.name);//「object.property」モードでのアクセス
}、
'名前': 'myObj',
'fun1': function() {
document.writeln(this['id'] + '+' + this['name']);//コレクションモードでのアクセス
}
};
myObj.fun();
myObj.fun1();
// 結果
// 1-myObj 1+myObj
2. function キーワードを使用してクラスをシミュレートする
これを関数内で使用して現在のオブジェクトを参照し、値を代入してプロパティを宣言します。変数が var で宣言されている場合、その変数はローカル変数であり、クラス定義内でのみ呼び出すことができます。
次のようにコードをコピーします。
関数 myClass() {
this.id = 5;
this.name = 'マイクラス';
this.getName = function() {
this.name を返します。
}
}
var my = 新しい myClass();
アラート(my.id);
アラート(my.getName());
// 結果
// 5
//マイクラス
3. 関数本体でオブジェクトを作成し、そのプロパティを宣言して返します。
関数本体でオブジェクトを作成するには、最初のポイントでメソッドを使用するか、最初に new Object(); を使用してから各属性に値を割り当てます。
ただし、この方法で作成されたオブジェクトには、VS2008 SP1 にはスマート プロンプトがありません。
次のようにコードをコピーします。
関数 myClass() {
変数オブジェクト =
{
'id':2、
'名前':'マイクラス'
};
オブジェクトを返します。
}
関数 _myClass() {
var obj = 新しいオブジェクト();
obj.id = 1;
obj.name = '_myclass';
オブジェクトを返します。
}
var my = 新しい myClass();
var _my = 新しい _myClass();
アラート(my.id);
アラート(私の名前);
アラート(_my.id);
アラート(_my.name);
// 結果
// 2
//マイクラス
// 1
// _myclass