ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript_javascript スキルでクラス/オブジェクトを作成するいくつかの方法の概要と例

JavaScript_javascript スキルでクラス/オブジェクトを作成するいくつかの方法の概要と例

WBOY
リリース: 2016-05-16 17:34:42
オリジナル
972 人が閲覧しました

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 ではスマート プロンプトがありません。


コードをコピー
コードは次のとおりです。 function myClass() { var obj =
{
'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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート