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