ホームページ  >  記事  >  ウェブフロントエンド  >  Javascript でオブジェクトを作成する 5 つの一般的な方法の詳細な説明

Javascript でオブジェクトを作成する 5 つの一般的な方法の詳細な説明

php是最好的语言
php是最好的语言オリジナル
2018-08-08 09:33:461010ブラウズ

JavaScript でオブジェクトを作成する 5 つの一般的な方法:

オブジェクトを作成する方法は合計 7 つあります。そのうちの 2 つは頻繁に使用されるので、必ずマスターしてください。

1. オブジェクトメソッドを直接作成します

作成構文は次のとおりです:

var 对象变量名 = new Object();
对象变量名. property1 = value1;
…;
对象变量名. propertyN = valueN;
对象变量名. methodName1 = function([参数列表]){
    //函数体}
…;
对象变量名. methodNameN = function([参数列表]){
    //函数体}

まずオブジェクトを作成し、次にそのプロパティと関数の値を定義して設定します

以下の参考例と呼び出しを参照してください:

var student =new Object();student.name="小李";student.age=21;student.dohomework=function(){
    console.log(this.name+"正在做作业");}
console.log(student.name);student.dohomework();

2. オブジェクト初期化メソッド

作成構文は次のとおりです:

var 对象变量名 = {
    property1 : value1,
    property2 : value2,
    …, 
    propertyN : valueN,
    methodName1 : function([parameter_list]){
        //函数体
    },
    …, 
    methodNameN : function([parameter_list]){
        //函数体
    }
}

オブジェクトのプロパティを割り当て、中括弧内で関数関数を直接定義します

以下の参照例と呼び出しを参照してください:

var teacher = {
    name:"Mr Li",
    age:21,
    teach:function(){
        console.log(this.name+"正在授课ing");
    }
}
teacher.teach();

注: 異なる属性値はカンマで直接区切られます。通常、最後の値

3 の後には句読点はありません。コンストラクター メソッド

の作成構文は次のとおりです:

function 构造函数([参数列表]){ 
    this.属性 = 属性值; 
    …    this.属性N = 属性值N;    this.函数1 = method1; 
    …    this.函数N = methodN; 
}function method1([参数列表]){
    //函数体}
…function methodN([参数列表]){
     //函数体}

または

function  构造函数([参数列表]){ 
    this.属性 = 属性值; 
    …    this.属性N = 属性值N;    this.函数1 = function([参数列表]){
        //函数体
    } ;
    …    this.函数N = function([参数列表]){
        //函数体
    } ;
}

注: 一部の値はデフォルト値に設定でき、一部の値は必要に応じて設定できます。パラメータリストで与えられる、直接割り当て


概要: 1. 上記 2 つの方法と比較して、コンストラクター メソッドを使用して、 create object はコードを効果的に保存できます。
2. オブジェクトの作成にコンストラクター メソッドを使用することは省略できません。
3. オブジェクトの作成にはコンストラクター メソッドを使用することをお勧めします。コードの再利用が向上します。

以下の参照例と呼び出しを参照してください:

function Student(name){
    this.name=name;    this.age=21;    this.play=function(){
        console.log(this.name+"正在玩");
    }
}var student=new Student("仔仔");
student.play();

4. プロトタイプ プロトタイプ メソッド

新しい関数を宣言した後の関数 (JavaScript では、関数はオブジェクトでもあります) にはプロトタイプ属性があり、これを使用して新しい属性とメソッドをオブジェクトに追加できます。

以下の参照例と呼び出しを参照してください:

function 对象构造器( ){} 
对象构造器.prototype.属性名=属性值;
对象构造器.prototype.函数名 = function([参数列表]){
    //函数体}

5. 混合コンストラクター/プロトタイプ メソッド

作成構文は次のとおりです:

function Student(){}
Student.prototype.name="仔仔";
Student.prototype.age=21;
Student.prototype.dohomework=function(){
    console.log(this.name+"正在做作业");
}var student=new Student();
student.dohomework();

コンストラクター メソッドは属性の動的な割り当てを容易にしますが、このメソッドはメソッドも定義します。コンストラクター メソッドの本体から外されるため、コードがより乱雑になります。プロトタイプ メソッドはプロパティを動的に割り当てるのには不便ですが、この方法で定義されたプロパティとメソッドは分離されます。そのため、コンストラクターは属性を定義し、プロトタイプ メソッドはメソッドを定義します。

参考例と呼び出しについては以下を参照してください:

function 对象构造器([参数列表]){} 
对象构造器.prototype.函数名 = function([参数列表]){
    //函数体}

他にも 2 つのメソッドがあります。動的プロトタイプ メソッドとファクトリー モードは一般的ではないため、ここでは説明しません。

関連する推奨事項:

JavaScript でオブジェクトを作成する 4 つの方法

JavaScript でオブジェクトを作成する 7 つの方法の図

以上がJavascript でオブジェクトを作成する 5 つの一般的な方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。